This week in KDE: performance improvements galore

This week a number of performance improvements landed for for areas as diverse as taking screenshots with Spectacle in the Plasma Wayland session, using the Plasma Wayland session in general with an Nvidia GPU, and entering or exiting Elisa’s “Party mode” and resizing the main window.

But that’s not all; we also added a bunch of nice new features and UI improvements:

New Features

Spectacle can now be invoked globally to take a screenshot of the window currently under the cursor using Meta+Ctrl+Print (Antonio Prcela, Spectacle 21.08)

Gwenview can now read embedded color profile information for image formats other than JPEG and PNG (Daniel Novomeský, Gwenview 21.08)

If your keyboard lacks a “mute microphone” key, you can now mute the default microphone using the Meta+speaker mute keyboard shortcut (David Edmundson, Plasma 5.22)

In the Plasma Wayland session, the System Tray now notifies you when something is recording the screen, and gives you the opportunity to cancel it (Aleix Pol Gonzalez, Plasma 5.23)

KCommandBar has been added to all KXMLGui-using KDE apps, so you can start using it by hitting Ctrl+Alt+I in Dolphin, Gwenview, Okular, Konsole, Krita, Kdenlive, and so on! (Waqar Ahmed, Frameworks 5.83)

Bugfixes & Performance Improvements

Spectacle is now much faster and more reliable in the Plasma Wayland Session (Vlad Zahorodnii, Spectacle 21.04.2)

Konsole no longer sometimes crashes when using the “random color scheme” setting (Luis Javier Merino Morán, Konsole 21.04.2)

Elisa’s fancy blur effects have been ported to use a lighter weight implementation, hugely improving the app’s visual performance when entering or exiting party mode or resizing the window (Tranter Madi, Elisa 21.08)

Dolphin no longer sometimes crashes when emptying the trash (Ömer Fadıl Usta) Dolphin 21.04.2)

In the Plasma Wayland session, disconnecting an external screen no longer causes all open Qt apps to crash (Vlad Zahorodnii, Plasma 5.22)

Majorly improved the reliability of the Plasma Wayland session for users of Nvidia hardware with the proprietary driver (David Edmundson, Plasma 5.22)

Fixed a case where the new Plasma System Monitor app could crash on launch (David Redondo, Plasma 5.22)

The new Plasma System Monitor app no longer sometimes crashes when its main window is de-focused (David Redondo, Plasma 5.22)

The new Plasma System Monitor app now displays fully accurate disk usage information (David Redondo, Plasma 5.22)

Launching an app using the Kickoff Application Launcher no longer shows an unnecessary left-slide animation inside the popup before it closes (Marco Martin, Plasma 5.22)

Fixed tons of issues in the System Settings Virtual Desktops page, including a case of broken text display, the “Apply” button not becoming activated when it should, the “Defaults” button not bringing back removed virtual desktops, and several problems with the animation duration chooser (Nicolas Fella and David Edmundson, Plasma 5.22)

On System Settings’ Global Themes page, the “Use desktop layout from theme” button now correctly activates the Apply and Reset buttons (Cyril Rossi, Plasma 5.22)

Fixed a recent regression that could cause Dolphin to crash when searching for files (Kai Uwe Broulik, Frameworks 5.83

User Interface Improvements

Gwenview has now adopted KHamburgerMenu, giving it a cleaner look and a more approachable set of actions when the menubar is hidden (Noah Davis, Gwenview 21.08):

As a reminder, if you hate this, you can simply show the menu bar and the hamburger menu will disappear

Discover’s “Installed” view is now case-insensitive for searching (Aleix Pol Gonzalez, Plasma 5.22)

The System Tray’s arrow uses to show the pop-up with hidden applets in it no longer appears when using the “Show all entries” setting (Konrad Materka, Plasma 5.22)

The new Plasma System Monitor app now lets you search for multiple search terms separated with commas, just like the old KSysGuard app did (David Edmundson, Plasma 5.23)

Users are now told what they will be losing when they disable file indexing (me: Nate Graham, Plasma 5.23)

The Virtual Keyboard System Tray applet (which appears in the Plasma Wayland session) now disables itself completely if you have disabled the virtual keyboard globally (Nicolas Fella, Plasma 5.23)

On System Settings’ Virtual Desktops page, you can now double-click on a desktop’s name to rename it, and while you’re in renaming mode, the “Rename” button turns into a “Confirm new name” button (me: Nate Graham, Plasma 5.23)

Auto-generated avatar images used in various places in Plasma and apps now use flat colors for the backgrounds, rather than gradients (Jan Blackquill, Frameworks 5.83)

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

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: KCommandBar delivers ludicrous-mode productivity

This week I have another exciting new UI element to present: KCommandBar! You might have gotten the impression by my fawning over KHamburgerMenu that we care more about casual or novice users today… not so! KCommandBar is an expert-focused UI element implementing a HUD-style popup that aggregates all of the actions in a KDE app’s full menu structure, so that you can quickly activate features at the speed of thought! It’s like a KRunner inside your apps. You can also use it as a search, if you think a feature may exist somewhere but you don’t know where.

Hmm, does kate have a Block Selection mode? How do I activate it?

Oh, like that!k

Notice how it shows you the action’s keyboard shortcut too, so you can learn how to activate it even faster next time!

This UI element has been merged into the code but not yet rolled out for all KDE apps. Once this merge request is merged, all QWidgets-based KDE apps that use our KXMLGui framework (which is to say, most of them) will automatically get this feature for free! Big thanks to Waqar Ahmed for creating it!

Bugfixes & Performance Improvements

Dolphin’s split view closing animation no longer briefly shows the wrong view content in the left view before being closed (Felix Ernst, Dolphin 21.08)

Plasma no longer sometimes crashes when using the Audio Volume widget with full PipeWire support (David Redondo, Plasma 5.22)

In the Plasma Wayland session, connecting or disconnecting an external screen no longer sometimes immediately causes Plasma to crash (David Edmundson, Plasma 5.22)

In the Plasma Wayland session, windows that automatically close themselves no longer get stuck on the screen as half-transparent phantoms if you happened to have been dragging them at the moment when they closed themselves (Vlad Zahorodnii, Plasma 5.22)

We pushed a better fix to prevent the network applet from erroneously showing a huge traffic spike the first time you open it that should hopefully fix it for good this time (David Redondo, Plasma 5.22)

System Monitor widgets now display the correct information when located on a panel (David Redondo, Plasma 5.22)

The new Plasma System Monitor app no longer sometimes visibly flickers when table views of apps or processes are updated (David Edmundson, Plasma 5.22)

In the Plasma Wayland session, sub-menus of hamburger menus from interactive notifications (e.g. for newly-taken screenshots) no longer open in their own separate windows (David Redondo, Plasma 5.22)

In the Plasma Wayland session, showing the titlebar app menu no longer temporarily makes an item named “KDE Daemon” appear in your Task Manager (David Redondo, Plasma 5.22)

In the Plasma Wayland session, Aurorae window decorations are no longer visually corrupted when using high DPI scaling (David Edmundson, Plasma 5.22)

When using the Breeze application style, the cursor no longer gets stuck in the “double headed arrow” shape when first moving over a resizable divider and then into a terminal panel, as in Dolphin (Fabian Vogt, Plasma 5.22)

The Icons-Only Task Manager’s “currently playing audio” indicator no longer overlaps with its numbered badge when the badge is visible (Bharadwaj Raju, Plasma 5.22)

The adaptive panel transparency feature and the Minimize All applet now work properly when using KWin’s “keep thumbnails for minimized windows” setting (Bharadwaj Raju and Abhijeet Viswa, Plasma 5.22)

In the Plasma Wayland session, external screens are now detected properly on multi-GPU systems (Xaver Hugl, Plasma 5.23)

Selecting folders in the folder selector dialog for Flatpak apps and others using XDG portals now works (Bharadwaj Raju, Frameworks 5.83)

When using a recent version of Qt, automatic spellchecking in Kate and KDevelop and other KTextEditor-based apps once again works out of the box without need to be turned off and back on again (Antonio Rojas, Frameworks 5.83)

User Interface Improvements

The tabs at the bottom of Gwenview’s sidebar now become icons-only at very small widths where the text would have previously been elided, and become icons+text at very wide widths (Noah Davis, Gwenview 21.08):

Dolphin’s Trash entry in the Places panel now has a context menu item to open the trash settings window (Saravanan K, Dolphin 21.08):

In Elisa, the inline Play button for playlist items now resumes playback when paused, rather than going back to the beginning of the song (Tranter Madi, Elisa 21.08)

System Tray applets with hamburger menus no longer redundantly show the same configure action inside them that is already visible available as a button on the header itself (me: Nate Graham, Plasma 5.22):

In the new Plasma System Monitor app, you can now terminate the selected process/app by hitting the Delete key, just like you could in KSysGuard (Kai Uwe Broulik, Plasma 5.22)

Clicking on any of the media controls on the lock screen no longer takes the keyboard focus away from the password field (Jan Blackquill, Plasma 5.22)

Using the Task manager’s “cycle through tasks with mouse wheel” no longer un-minimizes minimized tasks (Abhijeet Viswa, Plasma 5.22)

Widgets on the desktop now have a blurred background, making them more legible and better-looking compared to the previous transparent-without-blur background (Marco Martin, Plasma 5.23):

Retro wallpaper shows the effect better!

The Audio Volume applet’s Applications tab now distinguishes between applications that are currently playing or recording audio, and those that are not (Kai Uwe Broulik, Plasma 5.23):

The System Settings Boot Splash page has been moved to the “Appearance” category (me: Nate Graham, Plasma 5.22)

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

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.

1 year update on the ThinkPad X1 Yoga laptop

Last year I replaced my old laptop with a Lenovo ThinkPad X1 Yoga, and I wrote a preliminary review of it. This laptop is my only computer, used for both work and play. I’ve had it for a year, gotten used to some of my initial annoyances, and discovered a few new ones. So I thought I’d provide an update with some more long-term impressions.

What’s still annoying

Location of PrintScreen key

I have not been able to get used to having the PrintScreen key between the right Alt and Ctrl keys. I hit it by accident and open Spectacle all the time. So I have re-bound it in the Keyboard KCM to be a second Meta key, which is much more useful. Now I can do window tiling with one hand! However this means I lose my PrintScreen key. I initially re-bound the stupid useless Insert key to be a new PrintScreen key using xmodmap, but that only works on X11, and I have not yet found a Wayland-compatible solution that I am capable of making work over the long haul. I did succeed in performing the re-mapping using config files and submitted a merge request upstream to offer “Insert key is Printscreen” as a keyboard option, but it was rejected. Since applying the patch locally relied on modifying system files, my changes gets blown away on every system upgrade. Our keyboard KCM is in need of a generic and user-friendly way to let people re-bind keyboard keys without having to mess around with config files.

Battery life

Battery life remains lower than I would prefer, even after a number of kernel upgrades. I usually limit charging to 90% to preserve battery longevity, but when I let it charge to 100%, I’m still getting 5 hours max, even when I baby it and don’t use power-hungry apps. This is quite disappointing. The laptop I replaced easily got 8 hours, even with a smaller battery. So I know it isn’t my software being an energy pig. I haven’t done any international travel over the past year due to the pandemic, but once I do, this will become a real pain real fast.

Screen resolution and aspect ratio

While I love the sharpness of the laptop’s 3840×2160 4K display, this resolution is overkill for its 14″ screen size. At 200% scaling, things are too small. Currently I am using 200% scale with 11pt Noto Sans font, which takes advantage of a bug in Noto Sans in that 11pt is 22% bigger than 10pt, not 10% bigger like you would expect. The super high resolution also results in excessive power consumption, contributing to poor battery life. And the 16:9 aspect ratio is not ideal.

Later models of this laptop have a 16:10 screen, but with the same excessive 4K resolution. Boo.

A 14″ laptop screen ideally needs a resolution of 3200×2000 so that when you scale it to 200%, you get an effective resolution of 1600×1000. This is still perfectly sufficient to make the individual pixels invisible, but would draw less power and yield un-problematic 200% scaling for perfectly crisp and pixel-aligned visuals.

Lousy Intel CPU

This laptop has an Intel Comet Lake 10th gen Core i7-10510U CPU manufactured with a 14nm process. While it is faster than what I had before, performance is disappointing compared to AMD’s Ryzen CPUs, which also generate less heat and consume less power due to their more advanced 7nm manufacturing process. Graphics performance is also quite bad, though the 11th gen version is apparently much better. But overall a monster Ryzen 4800 or 5800 series CPU would be a much better fit, providing superior performance, lower heat, and better battery life. Sadly Lenovo does not offer those CPUs in this laptop. They should, because AMD’s offerings are clearly better in almost every way. You’d lose Thunderbolt support, but I haven’t plugged in one Thunderbolt device in ten years of owning laptops with Thunderbolt ports. I don’t even know if any of then work.

Can only charge it from the left side

It’s a minor thing, but after a year of use from many locations, it’s annoying to have to wrap the cord around the back of the laptop when I happen to be somewhere where the nearest power outlet is on my right side rather than my left side. This might be less of an issue if the machine got better battery life so I didn’t have to keep it plugged in all the time–but it doesn’t, so I do, and it is.

Wobbly USB-C ports

This is a common problem in many laptops, but I expect better for an expensive one. There is really no excuse for USB-C cord to be super wobbly after plugging it into the laptop. It makes the whole thing seem flimsy and weak. More firmness would be much appreciated.

What’s still great

Everything else! The touchpad, rest of the keyboard, speakers, display quality, build quality, durability, portability, port selection, and design are all wonderful. The software issues I ran into before have largely been fixed (at least in the Plasma Wayland session, which is almost usable day-to-day for me). With the above-mentioned problems fixed, it would be a perfect computer.

Alas, they persist, and I have not found one that meets all of my requirements. The hunt continues…

Window decorations revisited (or: using the right tool for the job)

Today let’s talk a bit about the importance of using the right tool for the job. There’s a bit about this in my post about KHamburgerMenu, about how it was not designed to be a universal thing for every app but rather the ones where it can makes sense. No need to shoe-horn everything into an identical paradigm.

So I want to use that context to talk a bit more about window decorations, and specifically client-side decorations–everyone’s favorite topic for getting the blood pumping! 🙂 But first, some terminology to make sure we’re all on the same page:

“Client-side” refers to content is drawn by the app or window itself (the “client”)

“Server-side” refers to content drawn for the app or window by something else (typically the window manager, or the “server”).

Now, KDE apps typically do not use client-side-decorated headerbars for their header areas like GNOME apps do. Instead, we generally hew to the traditional arrangement of a titlebar, menubar, and toolbar. The titlebar is “server-side” because it’s drawn by KWin, our window manager. Everything below the titlebar–such as the window’s menubar, toolbar, and content view–are drawn by the window itself; the window being a “client” of the window manager. Hence, “client-side”.

In the interest of aesthetics, our Breeze theme has recently been updated to visually merge these components, even though they’re still drawn by different parts of the stack and still serve different functions (though you can still drag the window from any empty area of the header, not just the titlebar). Here’s how it looks in Okular, a fairly traditional app with a titlebar, menubar, and toolbar:

…And for Dolphin, which has a hamburger menu in its toolbar by default rather than a menubar:

Not too bad, eh? Yet we have often been asked why we don’t use GNOME-style client-side decoration headerbars, which would provide the same merged look and save some vertical space too. I wrote a series of blog posts about this a few years ago which are still largely accurate, so I will paraphrase:

Why our apps don’t use CSD headerbars

If we did, they be worsened in the following ways:

  1. They would either lose a lot of space used for dragging the window, or else lose the ability to click-and-drag-and-release to activate headerbar items in menus, comboboxes, pop-up menus, etc. You can’t have both with CSD headerbars.
  2. There would be no place to display the name of the app, window, or open document–unless the app left a big empty space in the middle of the header for it. Even then it would be up to every app to implement this title itself, rather than it being an automatic thing provided by the window manager.
  3. We would probably have to remove or severely restrict how customizable the toolbar can be given the above restrictions on space.
  4. Also given the above restrictions, the CSD headerbar would probably have to omit some of the window decoration buttons currently present on the SSD titlebar, since they would be taking up a lot of space that apps would need. Customization flexibility would also be reduced.
  5. Windows would all have to have hamburger menus with no provision for a traditional in-window menubar, since there is nowhere to put one in a CSD headerbar without it looking really weird.
  6. When a window is not responding, the close button would not work to force-quit it, since it would be drawn by the thing that is not responding (the window) rather than a thing that is still working (the window manager)… unless the window manager itself implemented a hack for this. So it would not work in other window managers.
  7. It would suck for people using our apps on other platforms without window manager level support for CSDs.

So there’s your answer. 🙂

But wait, what about DWDs?

“DWD” refers to “Dynamic Window Decorations“, an old KDE proposal to marry visual appeal of CSDs with some of the functionality of SSDs by allowing the app to pass various actions to the window manager, which would then put them in the titlebar for the app. The proposal looked pretty like CSD apps do, and would have solved problem #6 and #7 from the above list, and improved on problem #4–but the other problems would have remained. So the idea was ultimately shelved and we did not apply it to our app windows. Too much cost, not enough benefit. That’s how it goes, sometimes.

Actually I lied, we totally use DWDs already… sort of

You might not have realized it, but Plasma’s System Tray uses the rough concept of the DWD paradigm and has for a few Plasma releases! Here, take a look at the Clipboard applet:

That “clear” action with the broomstick is drawn by the “server” (in this case, the System Tray popup) but the action came from the applet (which is acting as the client)! the Clipboard applet told the System Tray, “Hey, here’s a “Clear history” action for you to display with this icon, that tooltip text, and so on”. And the System Tray itself took care of turning that action into a clickable button. The Configure icon next to it is the same.

This arrangement was actually not deliberate; we kind of re-discovered the DWD concept by accident. But it turned out to work really well in the System Tray. This is because the System Tray popups don’t suffer from any of the remaining problems plaguing CSDs:

  1. The System Tray popup is not movable by dragging, so you can fill the top bar with lots of stuff without impairing that or losing the click-drag-release method of getting at menu items.
  2. The name of the applet isn’t robbing anything of space because because these are every small applets with a limited set of features; the number of actions is super limited.
  3. The header actions don’t need to be customizable because the full set of actions can be presented by default.
  4. Not being a movable window, there are no relevant window decoration buttons to customize, except for the single “Pin” button that keeps the popup open, which we can always show because there’s always space for it.
  5. These applets never had full menubars anyway, so nothing has been lost.

To be clear, there are still no DWDs for app windows, and there probably never will be–because they would basically just be slightly-less-bad CSD headerbars. However the DWD concept really shines for small platform-specific widgets!

It’s all good

So like KHamburgerMenu, we now have another tool in our toolkit. We can apply it to the parts of our software where it makes sense, without feeling the pressure to force it everywhere. Because the best craftsmanship really does come from using the right tool for the job.

This week in KDE: the Plasma 5.22 beta is here!

This week we finished up the last of our feature work for Plasma 5.22, so go test out the beta! We also started on 5.23 feature work, fixed a bunch of Wayland issues, and polished up our apps a bit more. Check it out:

New Features

The Digital Clock applet now has an option to display timezones not as their code or city name, but rather the offset from UTC time (Momo Cao, Plasma 5.22):

Bugfixes & Performance Improvements

Okular now correctly renders embedded PNG images in .cbz comic book files (Albert Astals Cid, Okular 21.04.2)

Gwenview now uses a standard Qt-provided graphics component for its image view, which fixes a common display corruption bug when panning and zooming, reduces memory use, and improves responsiveness, particularly with pinch-zoom gestures (Arjen Hiemstra, Gwenview 21.08)

In the Plasma Wayland session, the Plasma Browser Integration app no longer crashes in a loop when Firefox asks whether or not it can be your default browser, which it does too often due to a bug in Firefox itself when the GTK_USE_PORTAL=1 environment variable is set, as it is by default in Neon and Fedora (Harald Sitter, Plasma 5.22)

In the Plasma Wayland session, KWin no longer sometimes crashes when an external display goes to sleep or is disconnected (Vlad Zahorodnii, Plasma 5.22)

The new Plasma System Monitor app no longer crashes on close after switching pages many times (David Redondo, Plasma 5.22)

When using the Systemd startup feature, you can now unlock your session using the command-line loginctl utility (David Edmundson, Plasma 5.22)

In the Plasma Wayland session, dragging-and-dropping Task Manager Tasks to the Pager applet to move them to different virtual desktops now works (David Redondo, Plasma 5.22)

In the Plasma Wayland session, the optional titlebar button that shows a window’s menu structure no longer strangely appears as a separate window, and navigating it with the keyboard also now works properly (David Redondo, Plasma 5.22)

The new Plasma System Monitor app no longer sometimes shows two “Name” columns in various table views (David Redondo, Plasma 5.22)

The new calendar no longer renders too many dots in Month and Year views (Carl Schwan, Frameworks 5.83)

Fixed the most common binding loop (which cause log spam as well as reduced performance) in QtQuick-based apps (Arjen Hiemstra, Frameworks 5.83)

Plasma tab buttons with both icons and text once again center the content–this time without letting the text overflow! (Noah Davis, Frameworks 5.83)

User Interface Improvements

Dolphin has now adopted KHamburgerMenu, which has allowed us to tweak the contents of the hamburger menu to be vastly more relevant, less redundant, less intimidating, and less likely to overflow on small screens. All the features are still there, just re-organized so that the common ones are easier to access and the uncommon ones are no longer so in-your-face (Felix Ernst, Dolphin 21.08):

What’s really cool is that it responds to your customizations. For example, because I’ve added the “Add New…” action to my toolbar, it isn’t in the hamburger menu. But I’ve removed the “Filter…” action, so it goes into the hamburger menu.

Gwenview’s default toolbar layout has been tweaked for greater simplicity and user-friendliness (Felix Ernst, Gwenview 21.08):

Made various UX improvements to Okular’s quick annotation tools such as making them toggle-able, remembering the last-used one, and keeping the quick annotation tools distinct from the complex full toolbar view (Simone Giarin, Okular 21.08)

The System Tray Printers applet has been made simpler and more consistent by changing its Configure button to open the relevant System Settings page and moving its applet-specific options into the hamburger menu, just like the Disks & Devices applet does (me: Nate graham, print-manager 21.08):

You can now disable the “Open Terminal” item in Dolphin’s context menu (Alexander Lohnau, Dolphin 21.08)

When Dolphin is showing hidden files, they are now all placed after all the visible ones, rather than before them (Gastón Haro, Dolphin 21.08)

Using Kate’s feature to show the differences between the open version of a file and the version of it that was just updated on disk no longer populates lists of recent files with temporary “.diff” files (Méven Car, Kate 21.08)

The “Translucency” desktop effect is now disabled by default, so windows no longer become slightly translucent when moved or resized (me: Nate Graham and Vlad Zahorodnii, Plasma 5.23)

The System Tray Bluetooth applet’s “Add New Device” button now lives in the header, becoming consistent with other System Tray applets (me: Nate Graham, Plasma 5.22):

It’s now possible to have the icons in your Icons-Only Task Manager automatically sorted by various criteria (alphabetically, by desktop, etc) exactly as you can do for the traditional Task Manager (Marko Gobin, Plasma 5.22)

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

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: UI improvements abound

Plasma 5.22 is just around the corner, and we put the finishing touches on some UI improvements to it, as well as our apps! Check it out:

New Features

You can now limit the update interval of System Monitor graphs (Arjen Hiemstra, Plasma 5.22)

Bugfixes & Performance Improvements

Fixed an obscure way that Konsole could crash when opening its Settings window (Carlos Alves, Konsole 21.04.1)

Gwenview no longer gets confused and sad when asked to open a document whose mimetype does not match its filename extension (Arjen Hiemstra, Gwenview 21.08)

Fixed a way that Plasma could crash immediately upon login when using certain System Tray items, or when switching keyboard layouts (Konrad Materka, Plasma 5.22)

Clicking the “Sleep” button when using Systemd startup mode with an older Systemd version no longer turns the computer off instead of putting it to sleep (Yaroslav Sidlovsky, Plasma 5.22)

Fixed an odd bug that could occasionally cause KRunner to not activate or deactivate when pressing its global shortcut (Fabian Vogt, Plasma 5.22)

When you tell the Clipboard applet to clear history and it asks you if you really want to proceed, clicking “No” after checking the “don’t ask again” checkbox no longer breaks the “clear History” functionality forever; it will now ask you again the next time! (Bharadwaj Raju, Plasma 5.22)

Used swap space is now visible in the new Plasma System Monitor app’s Memory graph (David Redondo, Plasma 5.22)

Opening a .flatpakref file in Discover for an already-installed app no longer presents an odd error (Aleix Pol Gonzalez, Plasma 5.22)

Discover no longer shows an “Uninstall” button on update pages where it doesn’t make sense (Aleix Pol Gonzalez, Plasma 5.22)

The button to configure your screen reader in System Settings’ Accessibility page now actually uh works (how embarrassing) (Carl Schwan, Plasma 5.22)

The kdeinit5 process no longer crashes either randomly or constantly when trying to generate thumbnails during semi-common operations like taking screenshots, copying files, etc (Fabian Vogt, Frameworks 5.82)

User Interface Improvements

Ark now shows a “welcome screen” of sorts if you open it without an archive, and also opens to a saner window size (Jiří Wolker and me: Nate Graham, Ark 21.08):

Spectacle’s options for what to copy after taking a screenshot (if anything) have been substantially clarified in the settings window, and the setting to copy the file path to the clipboard now works even if autosave is turned off (it saves the file to a temp path) (Srevin Saju, Spectacle 21.08):

Gwenview’s sidebar has received a visual refresh to be more in line with current KDE user interface guidelines (Noah Davis, Gwenview 21.08):

Dolphin’s tags menu in the search view now has a “Clear selection” button so those of you who make extensive use of tags can more easily start a new tag-based search (Ismael Asensio, Dolphin 21.08)

The Notifications applet’s “Clear all notifications” action has been moved out of the hamburger menu to make it more accessible, and the applet’s “Configure” button now opens the System Settings Notifications page rather than a mostly empty applet configuration window (me: Nate Graham, Plasma 5.22):

The System Tray Notifications pop-up now closes when the last notification is cleared by using the manual close buttons in the view instead of the “Clear all Notifications” button (Eugene Popov, Plasma 5.22)

Discover’s Sources menu is now accessible and usable with the keyboard (Carl Schwan, Plasma 5.22)

System Settings’ Audio Volume page no longer shows unused and inapplicable settings when the system is using the new PipeWire-PulseAudio compatibility system (Nicolas Fella, Plasma 5.22)

The Task Manager’s “Highlight windows” feature now only triggers when you hover the cursor over a window thumbnail, which makes it useful and not annoying, so we turned it on by default (Bharadwaj Raju, Plasma 5.22)

The System Tray Vaults applet’s “Create new Vault” button now lives in the header, to match the design of other System Tray applets (me: Nate Graham, Plasma 5.22):

The System Tray Battery & Brightness System applet’s header has received an overhaul: the “Configure” button now opens the relevant System Settings page rather than a mostly-empty applet config window, and that window’s only option has been made into a checkable item in the Hamburger menu (me: Nate Graham, Plasma 5.22):

And yes, we know that the “Configure Energy Saving…” item in the hamburger menu is redundant. This is a known bug that will hopefully be fixed soon.

System Settings’ own settings window is no longer too small (me: Nate Graham, Plasma 5.22)

The corner radius of KWin-drawn titlebars now respects the scale factor on X11 (Paul McAuley, Plasma 5.22)

There’s no longer a little empty space on the right edge of a non-maximized panel (Jan Blackquill, Plasma 5.22)

Dolphin’s breadcrumbs bar now displays more user-friendly text for search results (Kai Uwe Broulik, Frameworks 5.83)

The System Settings Browser Identification page has been removed because it was almost completely pointless in this day and age (Nicolas Fella, Frameworks 5.83)

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

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.