20 years…

As described here Kate will soon be twenty.

My mail to the former KWrite maintainer dates back to “Thu, 14 Dec 2000 18:38:42 +0100”, thought I think I started earlier with actually hacking on that MDI KWrite variant.

But just to have some official date, let’s say Kate was born at 14th December 2000, in a bit over one month Kate will turn officially twenty ;=)

Kate’s state around 2000

We started off with something like below (the screenshot is a bit fresher, it’s from 2001, KDE 2.2.x):

I think we already had the basics that we still have around today: some split-able main area for the documents and tool-views for stuff like a document list or terminal. We had no tabbed document switching, by design.

Kate’s state 20 years later

And now, in 2020, we ended up here:

That means we spend 20 years just to change the color theme to something dark and add some tabs ;=) Not bad, isn’t it?

Fun aside, the screenshots show: a lot of the basics did stay the same over the 20 years.

But that doesn’t mean that not a lot of the underlying stuff changed drastically.

We amassed a lot of features over that time period, too.

The original Kate/KWrite/KTextEditor/… had by far not the syntax highlighting we have today or any kind of working auto indentation, it had not that many nifty editing actions, you could only dream from decent code completion.

And I would not have thought that it ever really works well on Windows.

How will it continue?

How the project will continue depends on the contribution we get.

I am very happy with the progress of the last few years.

We gained more traction again and with the switch to our GitLab instance we got a lot of contributions merged in the past months.

If you have some itch to scratch, step up and provide a patch!

Look at what we got merged already since we are at invent.kde.org:

I think this is nice and I hope this continues that way (or even speeds up).

Even after 20 years, Kate is not dead nor abandoned.

I think that is a nice achievement by all people that contribute now and in the past to our stuff.

Unfortunately not a lot people that helped to start this have stayed with the project, but that is life, priorities shift, jobs change, …

;=) Not everybody can be a loner that has time to maintain something for two decades.


I want to thank all contributors!

Even this incomplete auto-generated list contains more than 500 people that contributed stuff in the past 20 years.

Thanks that you helped to enhance Kate and keep it alive and kicking for two decades.

And I hope Kate will continue to be well for the near and far future ;=)

Let’s provide some viable text editor alternative for users out there, be it on some Linux/BSD/… system or Windows.

And to our users: Thanks for picking Kate as your editor!


8 November, 2020

Make sure you commit anything you want to end up in the 20.12 releases to them

We're already past the dependency freeze.

The Feature Freeze and Beta is this Thursday 12 of November.

More interesting dates

November 26, 2020: 20.12 RC (20.11.90) Tagging and Release

December 3, 2020: 20.12 Tagging

December 10, 2020: 20.12 Release





7 November, 2020

Backups are vital in the event of a system malfunction and to recover from data loss. This article will show you how you can keep your personal data safe on Nitrux using Kup.

What is Kup?.

Kup is created for helping people to keep up-to-date backups of their files. Connecting a USB drive is the primary supported way to store data, but saving files to a server over a network connection is also possible for advanced users.

Here’s a detailed list of features.

  • Backup types:
    • Synchronized folders with the use of “rsync.”
    • Incremental backup archive with the use of “bup.”
      • bup is not installed by default, to install it run:
      • sudo apt -yy install bup --no-install-recommends
  • Backup destinations:
    • Local filesystem monitored for availability. That means you can set a destination folder which only exists when perhaps a network shared drive is mounted, and Kup will detect when it becomes available.
    • External storage, like USB hard drives. Also monitored for availability.
  • Schedules:
    • Manual only (triggered from tray icon popup menu)
    • Interval (suggests new backup after some time has passed since the last backup)
    • Usage-based (suggests new backup after you have been active on your computer for some hours since the previous backup).

In general, Kup tries to not disturb you needlessly.

Creating Backup Plans.

Nitrux offers its users the ability to back up their data using a tool called Kup since version 1.1.9 (July 27th, 2019). You can find Kup in System Settings.

To create a new back up plan, click the checkbox marked “Backups Enabled,” then click the button “Add New Plan.”

To add a name to this backup plan, click the textbox labeled “Description,” then select the type of backup you want. With Kup, there are two types of backup schemes supported, versioned, and synchronized; click on each to know which plan fits your workflow.

Next, select which folders Kup is going to include in your backup plan.

Now, you can select where Kup is going to save your backup. You can choose an internal drive, external drive, or network storage.

Kup also allows users to schedule when the backup happens.

For advanced users, Kup offers the ability to include or exclude hidden folders, verify the integrity of backups, and recover from a corrupted backup.

The post How to create backups using Kup appeared first on Nitrux — #YourNextOS.

This week the new Plasma System Monitor app had its first independent release! This app is a future replacement for the current KSysGuard monitoring app, and features a radically better user interface, an overview page with “just the facts”, simpler and more powerful customizability, and an easy to understand “Applications” page that shows individual apps rather than processes.

This app has been in development for almost two years and it’s really cool! We’re expecting it to eventually replace KSysGuard once it’s gotten some more use in the wild, but for now it is an independent release. Distros should be packaging it soon. Please install it and give it a try! Bug reports should be filed here.

But we kept plugging away on other stuff too…

New Features

Dolphin’s Places Panel now shows inline free space indicators for mounted disks in the Places Panel (Chris Holland, Dolphin 20.12):

Kate now supports the Zig language server (Matheus C. França, Kate 20.12)

Changing your user password now prompts you to change your KWallet password to match it so that if they previously matched, they don’t accidentally drift out of sync, which is baffling and rage-inducing when it happens (me: Nate Graham, Plasma 5.21):

Plasma Network manager’s OpenVPN module now supports multiple types of compression (Alfred Toth, Plasma 5.21)

Bugfixes & Performance Improvements

Dolphin’s git integration plugin no longer interferes with command-line-based git interactions (Sebastian Englbrecht, Dolphin 20.12)

Dolphin no longer sometimes consumes 100% of CPU resources while the Folders panel is open and showing folders that don’t have any sub-folders (Méven Car, Dolphin 20.12)

Konsole no longer sometimes crashes when re-arranging split views or closing split views (Carlos Alves, Konsole 20.12)

Back and Forward navigation in Okular after using internal links now works again (Kezi Olio, Okular 20.12)

When using Spectacle’s feature to return focus to the app when pressing the screenshot key while it’s already open, now doing so will un-minimize the app if it happens to be minimized (David Redondo, Spectacle 20.12)

When using Kate’s vi mode, the search field no longer disappears if focused again while it’s already open (Jan Paul Batrina, Kate 20.12)

The “switch user” action is once again visible in the Kickoff Application launcher for people using distros with an older systemd–for real this time! (David Edmundson, Plasma 5.20.3)

Switching users now actually works again after you invoke the action (Wolfgang Bauer, Plasma 5.20.3)

All the shutdown options are once again always visible for all people in the Kickoff application launcher (Michail Vourlakos, Plasma 5.20.3)

Fixed an obscure way that the Plasma Wayland session could crash (Lewis Lakerink, Plasma 5.20.3)

Opening the Network applet’s speed graph no longer erroneously causes the graph to show an implausibly high spike in data transfer that messes up the graph scale for all subsequent data (David Redondo, Plasma 5.20.3)

In the Plasma Wayland session, opening a laptop’s lid now immediately wakes it up, instead of this only happening after you press a key (Aleix Pol Gonzalez, Plasma 5.20.3)

The System Settings Window Rules page no longer automatically scrolls itself after creating a new rule and hovering the cursor over the list of rules when there are already a ton of rules in the list (Ismael Asensio, Plasma 5.20.3)

The “number of CPU cores” sensor now displays the right information (David Redondo, Plasma 5.21)

When using the Plasma Wayland session with multiple virtual desktops, the name of the virtual desktop is now correct in Task Manager tooltips (Lewis Lakerink, Plasma 5.20)

Plasma applet headers now use the correct colors when using with Breeze Dark Plasma theme (Dominic Hayes, Frameworks 5.76)

Fixed a common crash in System Settings when opening various QML-based pages (David Edmundson, Frameworks 5.76)

Notifications for file move or copy operations no longer include skipped files in the total number of files printed at the end (David Faure, Frameworks 5.76)

Thumbnails and previews throughout KDE software are now able to render 16-bit PSD files (Gary Wang, Frameworks 5.76)

User Interface Improvements

Inertial scrolling using the mouse now works when the cursor wraps around vertically after reaching the top or bottom of the window (David Hurka, Okular 1.11.3)

When you share an image to Imgur in Gwenview, there’s now a little notification in the UI that tells you it worked, shows the the link, and automatically copies it to the clipboard for you–just like in Spectacle (Nicolas Fella, Gwenview 20.12

The Samba server authentication dialog has been slimmed down and made more flexible so it can accommodate multiple different login types, with a handy help tooltip that helps you understand the various options (Harald Sitter, Dolphin 20.12):

Sheets in Kirigami-based software now close when you hit the Escape key (Ismael Asensio, Frameworks 5.76)

Draggable list items in Kirigami-based software now use the grabby hand cursor when the cursor is hovered over or dragging on the grab handle (Ismael Asensio, Frameworks 5.76)

The System Setting Accessibility page has been rewritten in QML and given a fancy new user interface (Tomaz Canabrava, Plasma 5.21):

System Tray applets now all have a visible Configure button in their header, as well as a hamburger menu showing all additional actions. This makes all System Tray applets full functionality 100% usable on touch and without having to right-click anything (Marco Martin, Plasma 5.21):

Check it out: SSD headerbars in the Plasma System Tray lol!

Icons in the System Tray expanded view are no longer quite so close to the header (Niccolò Venerandi, Plasma 5.21)

System Settings’ Notifications page now supports the “Highlight Changed Settings” feature (Cyril Rossi, Plasma 5.21)

The little pop-up menu that appears when you hover over a Panel applet while in Edit Mode now looks prettier (Niccolò Venerandi, Plasma 5.21):

After last week’s mixed feedback about the new UI style for the System Settings Audio page, we made a few changes which should hopefully improve it a bit (with more to come): We now use standard style section headers, and the “Show Inactive Devices” button has now been moved to the footer area (Nicolas Fella, Plasma 5.21):

Changed the menu text for the “turn off do not disturb” feature to be a bit more clear (Thiago Sueto, Plasma 5.20):

Those of you who liked the old Alt+Tab switcher’s behavior of placing minimized windows at the end of the list can now get that old behavior behavior back by adding MoveMinimizedWindowsToEndOfTabBoxFocusChain=true to the [TabBox] group
of your ~/.config/kwinrc file. In the future we may add a GUI to control this, but the the moment it is a hidden feature that requires manually modifying the config file (me: Nate Graham, Plasma 5.21)

Icons in collapsed sidebars in various Kirigami-based apps (e.g. and the Emoji input panel and the new Plasma System Monitor) are now horizontally centered as expected (David Redondo, Frameworks 5.76)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

Since Akademy a few things have happened regarding bringing our applications to Android. Here are some of the highlights I’m aware of.

Build System

Deployment Infrastructure

  • The Docker image used on our CI and CD systems as well as used by many people for local development has been updated to Qt 5.15.1. This is crucial as Qt 5.15.0 has had severe issues around content: URL I/O, which essentially prevented opening of files that weren’t application-internal.

  • There has been regular maintenance on several external dependencies we need, such as adjusting to upstream changes, dealing with build and build system issues, etc. (Discount, Eigen, FreeType, GStreamer, libxml2, QtZeroConf, etc). This is necessary as we are essentially a distributor when it comes to Android.

  • F-Droid metadata generation for the nightly build repository had been stuck and is now running again thanks to Ben, so we see up-to-date application information in the F-Droid app again. Additionally, the application license information is now added there based on the application AppStream file.

  • There’s a proposal on how to further improve the F-Droid metadata generation so that it becomes reusable for F-Droid release builds and can contain also screenshots already present in the AppStream file. Implementation of this is also underway already.


  • While Qt 5.15.1 fixed the most content: URL related I/O issues, QSaveFile is still broken in this context, a fix for 5.15.2 addresses that. This fixes file I/O via KArchive for example.

  • There’s a number of hardware abstraction APIs that still has to find their way into frameworks. Nico has been pushing this for screen server inhibition, other candidates are network status monitoring which partly exists in Qt 5 but has been removed for Qt 6, or screen brightness control. Volunteers welcome :)

  • Another candidate for becoming a framework on its own are the JNI helpers/wrappers in KAndroidExtras. Review and feedback would help here, in preparation of moving this to KF5.


  • Kontrast and Neochat have been added to the nightly builds.

  • Gabriel figured out how we can adjust our application icons so they show up in the proper shapes depending on the settings on Android, and implemented that for KDE Itinerary.

  • Sharaf is pushing Krita on Android forward, with changes in both the application and the deployment infrastructure.


If you are interested in bringing KDE software to Android, make sure to join the #kde-android channel on Matrix or IRC, as well as the kde-android mailing list. There is a large amount of users that we can reach on this platform, so your contribution can have a big impact here!

November 07, 2020. KDE today announces the release of KDE Frameworks 5.76.0.

KDE Frameworks are 70 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.

This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.

New in this Version


  • Split CJK terms at punctuation characters, optimize code
  • Refactor the code in preparation for ICU integration

Breeze Icons

  • Add 48px dialog-warning icon
  • Change style of media-repeat-single to use number 1
  • Add more git ignored files
  • check if file exists before removing
  • Always remove destination file first when generating symlinks
  • Add some color mode icons for Okular
  • Add task-complete icons (bug 397996)
  • Add network-limited icon
  • Copy 32px kup symlink to apps/48 to fix scalable test failure
  • Add meeting-organizer icons (bug 397996)
  • Add fingerprint icon
  • Add task-recurring and appointment-recurring icons (bug 392533)
  • Temporarily disable generating icons on Windows
  • Symlink kup.svg to preferences-system-backup.svg

Extra CMake Modules

  • Make androiddeployqt find libraries and QML plugins without installation
  • find-modules/FindReuseTool.cmake - Fix finding reuse tool
  • improve default formatting options
  • Include option to use LLVM for users with Qt < 5.14
  • add missing minimum version for RENAME parameter
  • Document when FindGradle has been added
  • Add FindGradle from KNotification


  • Convert the backend name to uppercase sooner
  • Add helper to obtain the caller’s uid


  • Raise ambiguity in ICalFormat::toString() in tests
  • Add COLOR property serialization from RFC7986
  • Make MemoryCalendar::rawEvents(QDate, QDate) works for open bounds


  • Port from QStandardPaths::DataLocation to QStandardPaths::AppDataLocation
  • Add namespace support to KCModuleData CMake macro
  • Deprecate KSettings::PluginPage
  • remove reference to undefined header
  • Move the KCMUtilsGenerateModuleData to correct place
  • Push all pre-created sub pages of a KCM
  • Add CMake function to generate basics module data
  • Improve legibility of inline QML in kcmoduleqml.cpp
  • proper header height with a placeholder
  • [kcmoduleqml] Fix top margin for QML KCMs


  • Find missing Qt5DBus dependency
  • kconf_update: Allow repeated tests in –testmode by ignoring kconf_updaterc


  • Change http: to https:


  • Fix Bug 428276 - KContacts cannot be used in qmake project (bug 428276)


  • KJob: add setProgressUnit(), to choose how percent is calculated
  • Fix potential memory leak in KAboutData::registerPluginData
  • Split suggestName(); the split method doesn’t check if file exists
  • KAboutData: deprecate pluginData() & registerPluginData()
  • Don’t quit the event loop in KJobTest::slotResult()
  • Use functor-based singleShot() overload in TestJob::start()


  • [abstractkcm] Set explicit padding
  • [simplekcm] Remove custom padding handling
  • [kcmcontrols] Remove duplicated code
  • Add source to KDeclarativeMouseEvent
  • reparent overlaysheets to the root
  • Make GridViewKCM and ScrollVieKCM inherit from AbstractKCM
  • Add getter method for subPages


  • Fix xml formatting in contributor.entities
  • Korean update: reformat HTML files of GPL, FDL and add LGPL


  • [ExtractionResult] Restore binary compatibility
  • [TaglibWriter|Extractor] Remove raw speex mimetype
  • [TaglibWriter] Open the read-write also on Windows
  • [Extractor|WriterCollection] Filter out non-library files
  • [EmbeddedImageData] Try to work around MSVC stupidity
  • [ExtractionResult] Deprecate ExtractEverything, fixup since
  • [EmbeddedImageData] Read test ground truth image just once
  • [EmbeddedImageData] Remove private cover writing implementation
  • [EmbeddedImageData] Move write implementation to taglib writer plugin
  • [EmbeddedImageData] Remove private cover extraction implementation
  • [EmbeddedImageData] Move implementation to taglib extractor plugin


  • systemd dbus activation


  • Keep aspect ration when upscaling


  • Deprecate single-arg signal KIdleTime::timeoutReached(int identifier)


  • Add support for RLE-compressed, 16 bits per channel PSD files
  • Return unsupported when reading 16bit RLE compressed PSD files
  • feat: add psd color depth == 16 format support


  • conditionally compare with blank QUrl instead of / on Windows for mkpathjob
  • KDirModel: two fixes for QAbstractItemModelTester
  • CopyJob: Include skipped files in progress calculation when renaming
  • CopyJob: don’t count skipped files in the notification (bug 417034)
  • In file dialogs, select an existing dir when trying to create it
  • CopyJob: fix total number of files/dirs in progress dialog (when moving)
  • Make FileJob::write() behave consistently
  • Support for xattrs on kio copy/move
  • CopyJob: don’t count dir sizes into the total size
  • KNewFileMenu: Fix crash by using m_text rather than m_lineEdit->text()
  • FileWidget: Show Selected file preview on mouse leave (bug 418655)
  • expose user context help field in kpasswdserver
  • KNewFileMenu: use NameFinderJob to get a “New Folder” name
  • Introduce NameFinderJob that suggests new “New Folder” names
  • Do not explicitly define Exec lines for KCMs (bug 398803)
  • KNewFileMenu: Split the dialog creation code to a separate method
  • KNewFileMenu: check file does not already exists with delay for improved usability
  • [PreviewJob] Allocate sufficient memory for SHM segment (bug 427865)
  • Use versioning mechanism to add the new places for existing users
  • Add bookmarks for pictures, music and videos (bug 427876)
  • kfilewidget: keep the text in the Name box when navigating (bug 418711)
  • Handle KCMs in OpenUrlJob with KService API
  • Canonicalize file path when fetching and creating thumbnails
  • KFilePlacesItem: hide kdeconnect sshfs mounts
  • OpenFileManagerWindowJob: pick window from main job correctly
  • Avoid pointless probing for nonexisting thumbnail images
  • [BUG] Fixing regression on selecting files that contain #
  • KFileWidget: make icon zoom buttons jump to the nearest standard size
  • put minimumkeepsize actually in the netpref KCM (bug 419987)
  • KDirOperator: simplify the icons zoom slider logic
  • UDSEntry: document the expected time format for time keys
  • kurlnavigatortest: remove the desktop:, needs desktop.protocol to work
  • KFilePlacesViewTest: don’t show a window, not needed
  • OpenFileManagerWindowJob: Fix crash when falling back to KRun strategy (bug 426282)
  • Internet keywords: fix crash and failed tests if delimiter is space
  • Prefer DuckDuckGo bangs over other delimiters
  • KFilePlacesModel: ignore hidden places when computing closestItem (bug 426690)
  • SlaveBase: document ERR_FILE_ALREADY_EXIST behavior with copy()
  • kio_trash: fix the logic when no size limit is set (bug 426704)
  • In file dialogs, creating a dir that already exists should select it
  • KFileItemActions: Add property for min/max count of Urls


  • [avatar]: Make numbers invalid names
  • [avatar]: Expose cache property of image
  • Also set a maximumWidth for icons in global drawer (bug 428658)
  • Make quit shortcut an action and expose it as a readonly property
  • Use hand cursors on ListItemDragHandle (bug 421544)
  • [controls/avatar]: Support CJK names for initials
  • Improve look of the FormLayout on mobile
  • Fix menus in contextualActions
  • Don’t alter Item in code called from Item’s destructor (bug 428481)
  • don’t modify the other layout reversetwins
  • Set/unset focus to overlay sheet on open/close
  • Only drag window by the global toolbar when pressed & dragged
  • Close OverlaySheet when pressing Esc key
  • Page: Make padding, horizontalPadding and verticalPadding properties work
  • ApplicationItem: Use background property
  • AbstractApplicationItem: add missing properties & behavior from QQC2 ApplicationWindow
  • limit items width to layout width
  • Fix back button not showing on layered page headers on mobile
  • Silence warning about “checkable” binding loop in ActionToolBar
  • swap the order of columns on rtl layouts
  • workaround to make sure ungrabmouse is called every time
  • check for startSystemMove existence
  • fix separator on mirrored layouts
  • drag window by clicking on empty areas
  • don’t scroll by drag with mouse
  • Fix cases when the reply is null
  • Fix faulty refactor of Forward/BackButton.qml
  • Ensure empty icon is Ready and doesn’t get painted as previous icon
  • Constrain height of back/forward button in PageRowGlobalToolBarUI
  • Silence console spam from ContextDrawer
  • Silence console spam from ApplicationHeader
  • Silence console spam from back/forwardbutton
  • Prevent mouse dragging from dragging an OverlaySheet
  • Drop lib prefix when building for Windows
  • fix twinformlayouts alignment management
  • Improve legibility of embedded QML in C++ code


  • KRearrangeColumnsProxyModel: fix crash with no source model
  • KRearrangeColumnsProxyModel: only column 0 has children


  • Fix erroneous logic introduced in e1917b6a
  • Fix double-delete crash in kpackagejob (bug 427910)
  • Deprecate Button::setButtonText() and fix API docs, nothing is prepended
  • Postpone all on-disk cache writes until we’ve had a quiet second
  • Fix crash when list of installed files is empty


  • Mark KNotification::activated() as deprecated
  • Apply some sanity checking to action keys (bug 427717)
  • Use FindGradle from ECM
  • Fix condition to use dbus
  • Fix: enable legacy tray on platforms without dbus
  • rewrite notifybysnore to provide more reliable support for Windows
  • Add comments to describe DesktopEntry field in notifyrc file

KPackage Framework

  • Make “no metadata” warning a debug-only thing


  • Rip out AIX, Tru64, Solaris, Irix support


  • Deprecate obsolete RunnerSyntax methods
  • Deprecate ignoreTypes and RunnerContext::Type
  • Do not set the type to File/Directory if it does not exist (bug 342876)
  • Update maintainer as discussed in the mailing list
  • Deprecate unused constructor for RunnerManager
  • Deprecate categories feature
  • Remove unnecessary check if runner is suspended
  • Deprecate defaultSyntax and setDefaultSyntax methods
  • Cleanup defunct usage of RunnerSyntax


  • Allow NotShowIn=KDE apps, listed in mimeapps.list, to be used (bug 427469)
  • Write fallback value for KCM Exec lines with appropriate executable (bug 398803)


  • [EmulatedCommandBar::switchToMode] Do nothing when the old and new modes are the same (bug 368130 as follows:)
  • KateModeMenuList: remove special margins for Windows
  • Fix memory leak in KateMessageLayout
  • try to avoid to erase custom-styles for highlightings we didn’t touch at all (bug 427654)


  • Provide convenience methods around wl_data_offet_accept()
  • Mark enums in a Q_OBJECT, Q_ENUM


  • new setUsernameContextHelp on KPasswordDialog
  • KFontRequester: remove, the now redundant, nearestExistingFont helper


  • xcb: Fix detection of screen sizes for High-DPI


  • Add enum and declarations to allow passing capabilities in the registration process to NetworkManager

Plasma Framework

  • BasicPlasmoidHeading component
  • Always show ExpandableListitem buttons, not just on hover (bug 428624)
  • [PlasmoidHeading]: Set implicit sizing properly
  • Lock the header colours of Breeze Dark and Breeze Light (bug 427864)
  • Unify aspect ratio of 32px and 22px battery icons
  • Add margin hints to toolbar.svg and refactor PC3 ToolBar
  • Add AbstractButton and Pane to PC3
  • support exclusive action groups in the contextual actions
  • Fix BusyIndicator rotating even when invisible, again
  • Fix colours not applying to mobile task switcher icon
  • Add plasma mobile task switcher and close app icons (for taskpanel)
  • Better Menu in PlasmaComponents3
  • Remove unnecessary anchors in the ComboBox.contentItem
  • Round slider handle position
  • [ExpandableListItem] Load expanded view on demand
  • Add missing PlasmaCore.ColorScope.inherit: false
  • Set PlasmoidHeading colorGroup in root element
  • [ExpandableListItem] Make colored text 100% opaque (bug 427171)
  • BusyIndicator: Do not rotate when invisible (bug 426746)
  • ComboBox3.contentItem must be a QQuickTextInput to fix autocomplete (bug 424076)
  • FrameSvg: Don’t reset the cache when resizing
  • Toggle plasmoids when shortcut is activated (bug 400278)
  • TextField 3: Add missing import
  • Fix IDs in plasmavault_error icon
  • PC3: fix color of TabButton label
  • Use a hint instead of a bool
  • Allow plasmoids to ignore the margins


  • Add description to kaccounts youtube provider


  • Fix ToolBar contentWidth binding loop
  • Reference shortcut label directly by id instead of implicitly
  • ComboBox.contentItem must be a QQuickTextInput to fix autocomplete (bug 425865)
  • Simplify conditional clauses in Connections
  • Fix Connections warning on ComboBox
  • Add support for qrc icons to StyleItem (bug 427449)
  • Properly indicate focus state of ToolButton
  • Add TextFieldContextMenu for right click context menus on TextField and TextArea
  • Set background color to ComboBox’s ScrollView


  • Add support for sshfs to the fstab backend
  • CMake: Use pkg_search_module when looking for plist
  • Fix imobiledevice backend: Check API version for DEVICE_PAIRED
  • Fix imobiledevice backend build
  • Add Solid backend using libimobiledevice for finding iOS devices
  • Use QHash for mapping where order is not needed


  • Use modern signal-slot connection syntax

Syntax Highlighting

  • The “compact” core function is missing
  • comment out the check, add comment why this no longer works here
  • The position:sticky value is missing
  • fix php/* generation for new Comments hl
  • Feature: Replace Alerts w/ Special-Comments syntax and remove Modelines
  • Feature: Add the comments.xml as an umbrella syntax for various comment kinds
  • Fix: CMake syntax now mark 1 and 0 as special boolean values
  • Improvement: Include Modelines rules in files where Alerts has been added
  • Improvement: Add some more boolean values to cmake.xml
  • Solarized themes: improve separator
  • Improvement: Updates for CMake 3.19
  • Add support for systemd unit files
  • debchangelog: add Hirsute Hippo
  • Feature: Allow multiple -s options for kateschema2theme tool
  • Improvement: Add various tests to the converter
  • move more utility scripts to better location
  • move update-kate-editor-org.pl script to better place
  • kateschema2theme: Add a Python tool to convert old schema files
  • Decrease opacity in separator of Breeze & Dracula themes
  • Update README with “Color themes files” section
  • Fix: Use KDE_INSTALL_DATADIR when install syntax files
  • fix rendering of –syntax-trace=region with multiple graphics on the same offset
  • fix some issues of fish shell
  • replace StringDetect by DetectChar / Detect2Chars
  • replace some RegExpr by StringDetect
  • replace RegExpr="." + lookAhead by fallthroughContext
  • replace \s* with DetectSpaces

Security information

The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure faure@kde.org Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB

In the best example of “have your tried turning if off and on again” I’ve had in a long time, related to the ext4 VirtualBox woes I wrote about recently, I was informed of the existence of a checkbox called Use Host I/O Cache; toggling the value of that checkbox solved all my problems.

VirtualBox settings
VirtualBox settings

There is is: under the general Storage tab for my VM. On IRC Gleb Popov informed me that the checkbox ought to be off; it was, so on an off-chance I switched it on. Your mileage may vary. It got me working VMs again.

This particular image is one of my test-VMs for Calamares. I called it Kamarada because at the time I wanted to test Kamarada Linux which is an openSUSE derivative. You can see the ISO in the drive is for KaOS. KaOS drives a lot of design and QML work on Calamares and I’m really happy with the bug reports I get from them.

Over on Twitter Allan Jude suggested that I should switch volmode at the ZFS level so that GEOM wouldn’t (potentially) interfere with the disks. I haven’t tried that, and sometimes I like being able to, say, munge the partition table of a virtual disk from the host system. In any case, it’s possible that zfs set volmode=dev zvols/calamares-dev-kamarada will do the trick as well.


5 November, 2020

I’m happy to announce that the next version of Dolphin will introduce support for reporting of some telemetry data to the KDE servers. It’s important to stress the the data will be submitted only if the user actively enables the feature from the Dolphin settings.

Telemetry data can be very helpful to developers, but it may seem uninteresting to an end user. My personal opinion is that enabling telemetry is actually one of the easieast ways to contribute to KDE, if not the easieast. You just need to enable the reporting and you go on with your usual workflow.

Dolphin relies on the KUserFeedback framework to submit the data, which is already used by other projects such as Plasma or Kate.

What kind of data will be collected?

For now only the following data will be collected:

  • Dolphin version
  • Qt version
  • Platform information: the name of the OS/Distro used
  • Screen information: to find out how many screens people use
  • Start count: how many times Dolphin gets started
  • Usage time: to find out how many regular vs casual users we have
  • Locale information: the language used
  • Number of network shares: to find out how many people have Samba/NFS shares or SSHFS mounts.
  • Settings information: to find out how many people enable tooltips, the information and folder panels, or the “open archives as folder” setting.

An example of collected data can be seen from this screenshot:

Example of collected data

How do I enable the data reporting?

In the new “User Feedback” panel in the Dolphin settings you will be able to enable the data submission and to choose how much data you prefer the send: only basic data (app version, Qt version, OS) or all the collected data which I described before.

User Feedback panel from Dolphin settings

Note that surveys are currently not supported for Dolphin, so changing the “Participate in Surveys” bar actually does nothing.

If you want to read more about the KDE privacy policy, please refer to the general software privacy policy as well as the telemetry policy.

Last but not least, feel free to inspect the code that added this feature to dolphin.


3 November, 2020

Plasma System Monitor Preview Release

I would like to announce the preview release of Plasma System Monitor. It can be downloaded from here 1 or you can browse the source code directly on KDE Invent. Please see the readme file for what is needed to build or run it. If you run into any bugs, please report them on bugs.kde.org.

Plasma System Monitor Overview Page
Plasma System Monitor's Overview Page

Plasma System Monitor is a brand new UI for monitoring system resources. It is built on top of Kirigami and a new system statistics service called "KSystemStats" that was debuted in Plasma 5.19. It shares a lot of code with the new system monitor applets that were also introduced in Plasma 5.19. It is meant to be a successor to KSysGuard.


An early version of Plasma System Monitor
An early version of Plasma System Monitor. While the visuals have not changed much, the underlying technologies changed quite a bit.

Almost two years ago a project was started to create a new backend for monitoring system resources. This was initially intended to support a new set of system monitor widgets for Plasma. While working on this, we realised that the system monitor application could also do with a refresh, which would be a lot simpler now that we had a new system to build upon. After a little bit of iteration we had something that I was mostly happy with, with one major missing feature, there was no way of adding custom pages like KSysGuard has. To support this, we ended up unifying the display code between Plasma System Monitor and Plasma's system monitor applets, allowing one to select different display styles in the applet and also when editing pages in Plasma System Monitor.

Plasma System Monitor configuration compared to Plasma applet
Unified display styles between System Monitor and Plasma: System Monitor's display configuration on the left, Plasma's applet configuration on the right.


On startup, you will be greeted by the Overview page, that has been designed to give a quick overview of your entire system. It provides a view of important core resources: memory, disk space, network and CPU usage. It also provides a small version of the same table as used on the Applications page to give you a quick view of what applications are consuming the most resources.

Plasma System Monitor Applications Page
Applications Page

Another new feature is the Applications page. This shows you all running applications along with detailed statistics and graphs for those applications. This makes heavy use of the grouping features that were recently introduced to Plasma. See David Edmundson's blog for more details about this.

Plasma System Monitor Processes Page
Processes Page

The Processes page is very similar to the one in KSysGuard, but we have tried our best to streamline it and remove some of the inconsistencies in it. For example, you can now select the "Line Chart" display mode for any column that displays a numeric value. Similarly, the tree view mode no longer requires displaying all processes, but is now a simple mode toggle. (Please note: The tree view mode unfortunately requires Plasma 5.21 because some parts did not make it for the Plasma 5.20 release.)

Plasma System Monitor History Page
History Page

The History page has undergone the least functional changes, the most prominent one is that the CPU chart will now be displayed stacked by default.

Plasma System Monitor Editing Interface
Editing a new page

Should you find the pre-made pages lacking, there is a completely new UI to create and edit pages. The editing UI allows you to divide the page into several different rows, columns and sections. You can then select which sensors you want to display in which way.

Plasma System Monitor Display Style Configuration
Display style configuration

The Future

Both the application and the underlying statistics system are still undergoing a lot of development. For example, we have been working on replacing a lot of the old statistics collection code with new code that makes use of existing libraries and systems that simply did not yet exist when the original code was written. This reduces the amount of work that needs to be done to maintain things and allows us to expose new features, like support for GPUs. For Plasma System Monitor specifically, the plan is to include it by default with Plasma 5.21. We will probably not be replacing KSysGuard immediately, but longer term that is the goal.

  1. These tarballs were generated from git commit 098b91556901ccb611028b3a9156de61295b664c with SHA256 sum ec0af476c7cf992a3fc43af4e7f066c22757b7c196ee49fdbc4286bdf02948d11. They have been signed by Jonathan Riddell with key 7F05997E pub rsa2048 2016-09-06 2D1D 5B05 8835 7787 DE9E E225 EC94 D18F 7F05 997E Jonathan Riddell

ahiemstra Tue, 11/03/2020 - 17:49
It has been awhile since I've posted any updates regarding Qt Quick 3D, but not because there has been no progress. In fact quite the opposite: my team and I have been so busy getting Qt Quick 3D ready for 6.0 we haven't had time to talk about all the cool new features we have added. So today I would like to talk about some of the things we have done so far.