This week in KDE: Tons and tons and tons of Plasma 5.20 features, bugfixes, and UI improvements

Plasma 5.20 is going to be one absolutely massive release! It already was but this week we added even more to it: more features, more fixes for longstanding bugs, more improvements to the user interface! Read on for details:

New Features

Plasma now warns you when your hard disk or SSD is about to die, and lets you monitor its health in the Info Center app (Harald Sitter, Plasma 5.20)

When using the Breeze GTK theme, GTK headerbar apps now use the same appearance for your window titlebar buttons as other apps (Mikhail Zolotukhin, Plasma 5.20)

KRunner can now be configured to be a free-floating window, rather than glued to the top of the screen (Alexander Lohnau, Plasma 5.20)

Technically this was already a feature, but it it had no GUI to turn it on, so nobody ever knew about it!

It’s now possible to uninstall user-installed KWin scripts straight from the System Settings KWin Scripts page (Alexander Lohnau, Plasma 5.20)

Those of you who became accustomed to the behavior of the macOS Dock can now optionally configure your Icons-Only task managers to not minimize the active task when clicked (me: Nate Graham, Plasma 5.20):

Those of you who were worried about the new “KDE apps remember their window positions” feature being disruptive can now disable it (me: Nate Graham, Plasma 5.20):

Note that this only affects KDE app windows; we have no control over 3rd-party apps that implement their own window-position-remembering functionality (at least on X11; on Wayland, we will be able to turn position remembering on or off for all windows)

Bugfixes & Performance Improvements

Gwenview’s “Sort By” button now works properly and matches the behavior and appearance of Dolphin’s (me: Nate Graham, Gwenview 20.08.1)

Partition Manager no longer fails to create a single EXT4 partition on an unformatted SD card (Adriaan de Groot, KDE Partition Manager 4.2.0)

Ark now uses much less memory while extracting files (Alexey Ivanov, Ark 20.12.0)

Dolphin now detects your computer’s exported Samba shares no matter how you launch it (Harald Sitter, Dolphin 20.12.0)

Discover no longer incorrectly lists as installed things that you installed from a Get New [Thing] window in System Settings but then subsequently deleted in System Settings rather than the Get New [Thing] window (Alexander Lohnau, Plasma 5.20)

Global shortcuts to launch 3rd-party apps now work again (sorry this took so long) Méven Car, Frameworks 5.74)

Fixed a case where Discover could crash while performing updates that include Get New [Thing] content (Dan Leinir Turthra Jensen, Frameworks 5.74)

Fixed a case where Dolphin could crash while sharing files using Bluetooth (Nicolas Fella, Frameworks 5.74)

Add-ons installed using the Get New [thing] dialogs now install properly if they have slashes in their titles (Alexander Lohnau, Frameworks 5.74)

The highlight effect for hovered files and folders in the URL navigators throughout various KDE apps is no longer too wide (Ismael Asensio, Frameworks 5.74)

User Interface Improvements

When creating a Samba share, the dialog now automatically disables the option to turn on guest access if the system’s Samba configuration is set up to prohibit it, rather than letting you try anyway and failing silently, and also checks for the condition where your user isn’t in the correct group (Harald Sitter, Dolphin 20.12.0)

Spectacle no longer copies the file path of the newly-saved screenshot to the clipboard by default (Claudius Ellsel, Spectacle 20.12.0)

Elisa’s “Now Playing view” now has adequate internal side margins and wraps long song titles rather than eliding (me: Nate Graham, Elisa 20.12.0)

Arrows in table view headers now point the direction you expect: down when the biggest items are on top, and up when the biggest items are on the bottom (me: Nate Graham, Plasma 5.20)

And when the sort criterion is “by name” or anything else not involving numbers or sizes or quantities, the arrows are meaningless no matter which way they’re pointing, so it doesn’t matter at all 🙂

Discover’s “Addons” and “Packages to remove” sheets have received visual and usability overhauls (me: Nate Graham, Plasma 5.20)

The System Settings Shortcuts page now permits keyboard navigation (Carl Schwan, Plasma 5.20)

Kirigami Sheets now use more appropriate and visually pleasing colors for their headers and footers (me: Nate Graham, Frameworks 5.74)

KDE apps’ window sizes are now remembered on a per-screen-arrangement basis, just like their positions now are (me: Nate Graham, Frameworks 5.74)

Godot engine files now have nice icons (Michael Alexsander, Frameworks 5.74)

Keepassxc once again has pretty Breeze theme icons (me: nate Graham, Frameworks 5.74)

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.

This week in KDE: Better Samba sharing and remembered window positions

This week I implemented a much-requested feature: KDE apps now remember their main window positions when closed and re-launched! They even remember their positions (and soon their sizes too) on a per-screen-arrangement basis.

However, there are two important caveats here:

  1. Right now this only affects QWidgets-based KDE apps, and only their main windows.
  2. This feature only works on X11.

These limitations will be improved upon over time. On X11, QML-based apps and auxiliary non-dialog windows in QWidgets-based apps will get ported to use it over time. And on Wayland, an even better implementation is in progress that remembers positions for all windows at the window manager level–KDE and non-KDE apps alike! That’s some good stuff. The X11-only version that I already landed will show up in Frameworks 5.74, while the work-in-progress Wayland version will land in a Plasma release once it’s finished. Likely Plasma 5.21, but maybe 5.20 if we’re really lucky. 🙂

But wait, there’s more…

Other New Features

When you try to create a Samba share but there is no appropriate Samba user configured, you’re now warned of this and prompted to fix it, rather than share creation just failing silently (Harald Sitter, Dolphin 20.12.0)

Implemented the Wayland input-method-unstable-v1 protocol, which opens the door for proper virtual keyboard support on Plasma Mobile, among other benefits! (Aleix Pol Gonzalez, Plasma 5.20)

Bugfixes & Performance Improvements

Clicking on the title of the currently-playing song in Elisa once again takes you to the “Now Playing” view (Stef Lep, Elisa 20.12.0)

Fixed a bug that could cause KDE apps to fail to launch under certain circumstances (Harald Sitter, Frameworks 5.74)

Fixed a crash in System Settings when installing new items using a “Get New [Thing]” dialog (Dan Leinir Turthra Jensen, Frameworks 5.74)

Lyrics metadata for audio files encoded over 20 years ago on a pre-OS-X mac OS version are now displayed correctly throughout KDE software making use of the KFileMetadata framework, such as Dolphin and Elisa (me: Nate Graham, Frameworks 5.74)

Fixed a crash in KRunner when there is no Firefox profile (Fabian Vogt, Plasma 5.20)

User Interface Improvements

Kamoso’s folder picker dialog no longer has blurry pixelated icons when using a fractional scale factor (Matej Mrenica, Kamoso 20.08.1)

The Samba Sharing dialog now displays a warning if you try to configure a share such a way that it would be mostly broken (Harald Sitter, Dolphin 20.12.0)

The Device Notifier applet now displays a combobox in the main UI that lets you choose what it displays: only removable devices, only non-removable devices, or all devices (me: Nate Graham, Plasma 5.20)

Discover’s “Add Source” dialog now opens with the text field focused by default (me: Nate Graham, Plasma 5.20)

When switching virtual desktops using the Desktop cube Effect, any windows pinned to all desktops now float above the cube by default (me: Nate Graham, Plasma 5.20)

The options available for desktop icons sizes now follow a more regular progression; there’s no longer such a big difference between the two biggest sizes, nor such a small difference between the two smallest sizes (me: Nate Graham and Manuel Jesús de la Fuente, Plasma 5.20)

Discover’s “Task Progress” sheet now closes automatically if it’s still open when the last task completes (me: Nate Graham, Plasma 5.20)

There is no longer an unnecessary horizontal scrollbar in Okular’s settings window or the Power Management settings window (David Hurka, Frameworks 5.74)

The Global Menu applet’s menus now have adequate visual padding (Noah Davis, Frameworks 5.74)

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.

This week in KDE: Highlight changed settings and much much more

This week a big new feature landed for Plasma 5.20: the System Settings app now has the ability to optionally highlight any settings you’ve changed from their default states! This required a ton of engineering throughout the stack which will pay many dividends down the road. For example, it opens the door to a global “reset to defaults” button now that all of the pages know what their default states actually are and take into account distro default settings, rather than always using KDE upstream defaults. Big thanks to Kevin Ottens, Benjamin Port, and Cyril Rossi, who made this happen.

But that’s not all we have for you this week; in fact, there’s a gigantic amount more:

New Features

Konsole now has an option in the Profile > Appearance tab to display a vertical line at a user-specified position (defaulting to 80 characters) which can help you when typing text that should be manually line-wrapped (Tomaz Canabrava, Konsole 20.12.0)

The System Settings Autostart page has been rewritten from scratch and now features a much better user interface (Nicolas Fella, Plasma 5.20)

The System Settings “Global Shortcuts” and “Standard Shortcuts” pages have been merged into one, which is now called “Shortcuts” (David Redondo, Plasma 5.20)

The medium-term plan is to obsolete or collapse the “Custom Shortcuts” page into this one as well so that we will finally have only one “Shortcuts” page and we won’t need a group to hold multiple shortcuts pages

The Battery & Brightness applet now shows a quick link to the Energy Information page (me: Nate Graham, Plasma 5.20)

Added a small command-line utility program that can be used to inhibit screen locking, power off, etc. For example: kde-inhibit --screensaver --power sleep 100 (David Edmundson, Plasma 5.20)

Bugfixes & Performance Improvements

Okular’s document bookmarks feature now works even when a document is opened via a symbolic link (Okular 1.12)

Dolphin now notices and updates the view when files are added or removed from a Samba share (Harald Sitter, Dolphin 20.12)

Pasting a file on the desktop when a folder is selected now pastes it into that folder, as expected (Grégoire Duvauchelle, Plasma 5.20)

The arrow keys now work for navigation through the default task switcher (Igor Grkavac, Plasma 5.20)

When executing commands with KRunner, prefixing the commands with environment variables now works as expected (Alexander Lohnau, Plasma 5.20)

On Discover’s settings page, the “Add Flathub” button only appears when the Flathub repo isn’t already there (Aleix Pol Gonzalez, Plasma 5.20)

Kate and other KTextEditor-based apps are now up to 40% faster to open large files (Tomaz Canabrava, Frameworks 5.74)

When you connect to a Google account using the System Settings Online Accounts page, the dialog that asks you which features of the account to access is now readable when using a dark theme (Dan Leinir Turthra Jensen, Frameworks 5.74)

ToolButtons using the older PlasmaComponents2 UI library are once again displayed at the correct size (Noah Davis, Frameworks 5.74)

The Get New [Thing] dialogs no longer erroneously always show the first item as selected when using Icons view (Alexander Lohnau, Frameworks 5.74)

User Interface Improvements

When attempting to create a Samba share, any errors encountered during the process are now displayed so you can troubleshoot the issue (Harald Sitter, Dolphin 20.12)

Spectacle now lets you take a screenshot on Wayland without needing to click first to confirm it (Méven Car, Spectacle 20.12)

Elisa now has an option (off by default) to immediately resume playback on launch. The last playback position is still always remembered of course (Stef Lep, Elisa 20.12)

In Elisa, the “previous track” action now returns to the beginning of the current track the first time you hit it and only goes to the previous track if the current track’s playback is within the first two seconds, just like how most other music players do it (Step Lef, Elisa 20.12)

The print queue window now makes the “Hold” and “Resume” actions mutually exclusive so only one is visible at a time (Jan Paul Batrina, Print Manager 20.12)

Toolbar buttons with text which display drop-down menus when clicked now display little arrows next to the text so you can tell this (Arjen Hiemstra, Plasma 5.20)

The Kickoff Application Launcher now uses a standard-looking background area for its header area (Carl Schwan, Plasma 5.20)

Pinning an app to Kicker or Kickoff no longer subsequently closes it (Alexander Lohnau, Plasma 5.20)

The System Settings Cursors page now uses the “pending deletion” paradigm used in other grid view pages, rather than showing you a “confirm deletion?” dialog box (David Redondo, Plasma 5.20)

The Energy settings page accessible from the Battery & Brightness applet no longer has an unnecessary scrollbar (Alexander Lohnau, Plasma 5.20)

Un-connected Bluetooth devices in the Bluetooth applet no longer show a pointless “disconnected” emblem in the corner because they’re already grouped in a separate section (me: Nate Graham, Plasma 5.20)

Centered notification pop-ups are now a little less wide. They’re still wider than they were in Plasma 5.18 and before, but not quite as wide as they were in Plasma 5.19, which was considered just too wide. Man, the word “wide” is a strange word. Don’t you agree? (Riccardo Robecchi, Plasma 5.20)

Header text for pages in System Settings is now always the same size no matter if the page’s user interface was written in QML or QWidgets (Ismael Asensio, Frameworks 5.74)

Creating a new file or folder with spaces in the name no longer briefly shows an annoying message warning you that the name ends with a space every time you type the space between words; instead, it simply automatically removes all trailing spaces (me: Nate Graham, Frameworks 5.74)

ToolButtons throughout Plasma that currently retain focus when clicked on no longer do so, mirroring the behavior seen with ToolButtons in apps written with QWidgets or QML with the desktop style (David Redondo, Frameworks 5.74)

Removed the superfluous “Details…” button on the tile items for the Get New [Thing] dialogs because clicking on the tile itself already did the same thing (Alexander Lohnau, Frameworks 5.74)

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.

This week in KDE: window thumbnails on Wayland

This week we got tons and tons of stuff done, including window thumbnails on Wayland! This much-awaited feature brings our Wayland session ever closer to parity with the X11 session. But wait, there’s more:

New Features

Konsole now lets you configure how dark inactive terminals become when using the “darken inactive terminals” feature (Tomaz Canabrava, Konsole 20.12.0)

Task Manager window thumbnails now work on Wayland! (Aleix Pol Gonzalez, Plasma 5.20)

Discover can now be used to perform updates of content downloaded through the Get New Stuff dialogs (Dan Leinir Turthra Jensen, Plasma 5.20)

Plasma applets now feature an “About” page in their settings windows (David Redondo, Plasma 5.20)

Kate and other KTextEditor-based apps now show a zoom indicator in the status bar when the current zoom level is not 100% (Jan Paul Batrina, Frameworks 5.74)

Bugfixes & Performance Improvements

Opening an audio file from the filesystem in Elisa from Dolphin or KRunner or another app now works (Matthieu Gallien, Elisa 20.08.0)

Switching screens while in Okular’s Presentation Mode now works (David Hurka, Okular 20.08.0)

Fixed a case where KWin could crash when logging out of a Wayland session (Andrey Butirsky, Plasma 5.20)

In a Plasma Wayland session, XWayland no longer brings down the whole session when it crashes; it just restarts normally (Vlad Zahorodniy, Plasma 5.20)

Changing the list of active KRunner plugins now takes effect immediately rather than requiring KRunner to be restarted (Alexander Lohnau, Plasma 5.20)

The Search widget now respects the current list of active KRunner plugins (Alexander Lohnau, Plasma 5.20)

The mouse cursor no longer sometimes gets stuck when using screen rotation on Wayland (Aleix Pol Gonzalez, Plasma 5.20)

Edge swipe gestures and showing a hidden panel by tapping the screen edge now work on Wayland (Xaver Hugl, Plasma 5.20)

Adding a new network interface no longer messes up the display in the Networks system monitor (David Edmundson, Plasma 5.20)

Changing the systemwide scale factor now invalidates the Plasma SVG cache, causing SVG-based user interface elements throughout Plasma to be re-drawn with the correct scale, which should fix a wide variety of minor graphical glitches seen after changing the scale factor (David Edmundson, Frameworks 5.74)

The Baloo file indexer now skips files that repeatedly fail to index rather than repeatedly trying to re-index them anyway and failing in a loop that trashes your CPU (Stefan Brüns, Frameworks 5.74),

User Interface Improvements

When applying a tag to a file in Dolphin, if the tags menu only had one item in it, it now automatically closes after applying the tag (Ismael Asensio, Dolphin 20.08.0)

The current date is now shown in the Digital Clock applet by default (Claudius Ellsel, Plasma 5.20)

Animation speeds throughout the Breeze Widgets and Decoration themes now respect the global animation speed (Martin Sandsmark and Marco Martin, Plasma 5.20)

It’s now possible to do multiplication in KRunner using “x” as the multiplication operator, not just “*” (Alexander Lohnau, Plasma 5.20)

KRunner now shows tooltips for entries that don’t entirely fit, so you now have a way to read the dictionary text (Alexander Lohnau, Plasma 5.20)

And yes, multi-line output is coming soon as well 🙂

Minimizing a window no longer puts it at the very end of the Task Switcher; it now moves to the next position and there is no special handling (me: Nate Graham, Plasma 5.20)

Made various fixes and improvements to the Breeze GTK theme: Sidebars in GTK Assistant are now readable, floating status bars are no longer transparent, the window shadow now matches that of KDE apps, and pop-up shadows now look nicer (Carson Black, Plasma 5.20)

The Get New [Thing] Windows now display more appropriate icons for their Update and Uninstall actions (me: Nate Graham, Frameworks 5.74)

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.

The structure of KDE, or how anarchy sometimes works

KDE is a funny beast. In a lot of ways, it’s an anarchic society that actually works!

Engineers and designers work on KDE software and websites, but none of them are paid by KDE itself. Most are volunteers but some (myself included) are paid by 3rd-party companies. These people work on what they want or what they are sponsored by their company to work on, not what anyone in KDE tells them to work on.

KDE has a board of directors, but they are elected by KDE’s membership rather than stockholders (there is no stock lol), and they do not control KDE’s strategic direction as in a corporation. Rather, they mostly take care of financial and legal matters, sort out copyright claims, help to organize the yearly Akademy conference, and so on.

There is no formal “upper management” or even “middle management” layer. We have the “gardening team” whose members are in essence volunteer managers, but we mostly do things like triaging bugs, following up on stuck merge requests, performing QA on unreleased software, and so on. We support the people doing the work, rather than telling them what to do.


So how does anything get done around here?!

Well, just because KDE is an anarchy, does not mean that there is no organization and coordination! It’s just all done on a voluntary basis, with slightly unusual motivation techniques. Anarchy is not the absence of governance and decision-making, it’s just different from how it’s typically done.

In a corporation, managers motivate their employees by offering them them money, benefits, bonuses, promotions, and internal social perks. Bad work or bad behavior is punished by reprimands, demotion, or being fired.

But in KDE, most people are unpaid volunteers, so KDE has no financial leverage over them. Those who are paid are hired by 3rd-parties rather than KDE itself. Neither the carrot nor the stick will work!

Instead, motivation within KDE uses the currency of excitement. When a project is cool and its contributors publicly demonstrate its coolness and their enthusiasm for it, other people want to join in and help out! This turns out to be a very effective way to motivate free people to work on something: you make them feel like they want to be a part of something big and special, and you organize the discussion in a way that makes them feel like they can be included.

KDE’s design team (the VDG group) does a lot of this, constantly churning out astonishingly beautiful mockups and organizing discussions about important topics. People gravitate to the VDG’s proposals because they seem cool and there’s buzz and excitement surrounding it. The promo team works to generate that buzz and excitement. Other teams do similar things. You have to keep people excited and happy or else they will drift away.


This leads to an important point: you have to minimize negativity! For most people, conflict destroys energy and motivation. Internal arguments and politics need to be minimized and driven towards a consensus rather than simmering forever. Even if you have to bend a bit and give up some of what you want, that’s a better option than getting nothing because everyone is burned out by endless arguing. And new contributors in particular must be treated with kindness, given the benefit of the doubt, and made to feel welcome.

Similarly, if you’re a user who’s frustrated with the lack of progress on something you care about, insulting the developers or KDE itself in the bug report is the worst thing you could do: it will damage the motivation of the people in a position to do the work, reducing the chance that you will get what you want. Gently pinging people without negativity is the way to go–or even better, work on it yourself! Like all FOSS projects, KDE encourages self service. 🙂

In essence, KDE’s little anarchic digital utopia works because we all voluntarily agree to treat each other with respect and kindness and become stakeholders in the project, and this greases the wheels of all the work we do. Somehow, it all manages to work!