This week in KDE: time for the new features

The floodgates opened this week, and a lot of consequential in-progress work was merged: juicy new Plasma 6 features, long-awaited bugfixes, spicy automated testing, and more!!!

Plasma 6

General infoOpen issues: 94

The Overview and Desktop Grid effects have been merged together into one, with fluid and natural-feeling touchpad gestures to transition between all states. It’s really awesome work, and also fixed a ton of open bug reports! (Niccolò Venerandi, link):

In the Plasma Wayland session, there’s now a System Tray monitor that shows you when something is using the camera, just like we already have for screen recording and microphone usage (Fushan Wen, link 1 and link 2):

Floating panels now have nice shadows, and when they de-float, they no longer have ugly chunky margins! Additionally, when the panel is floating, any popups opened from it are floating too, with nice rounded corners on all sides. Oh, and with this blocking work done, we’ve made floating panels on by default! (Niccolò Venerandi, link 1, link 2, link 3, and link 4):

There’s now a new global shortcut (Meta+Alt+L by default) to switch between the current and last-used keyboard layout, which can be useful for people who have more than two layouts but commonly switch between two of them on a regular basis (Mihail Milev, link 1 and link 2)

Icons drawn by Kirigami.Icon–which in Plasma 6 is nearly all of them in KDE’s QML software–now look better and sharper when using a fractional scale factor (Marco Martin, link)

Fixed multiple focus issues in System Settings: it’s now possible to focus the sidebar again after focusing the main page, and also pressing the down arrow key in System Settings’ search field now moves focus to the list view, which is especially helpful after searching for something (Fushan Wen, link 1 and link 2)

Started improving the presentation of the permissions of Flatpak apps in Discover, including using better icons, more user-friendly text, and showing the “sound system access” permission, which we had previously been ignoring (me: Nate Graham, link 1, link 2, and link 3)

The setting to toggle “offline updates” no longer uses that confusing terminology anymore (me: Nate Graham, link):

The “About” pages in System Monitor and Filelight were both ported to the new Form Card style (Carl Schwan, link 1 and link 2)

For a cleaner and less confusing presentation, common shortcut-choosing views now hide the local-only columns when all shortcuts are global, just like we already hide the global-only columns when all shortcuts are local (me: Nate Graham, link)

Made some fixes to monitor handling that should decrease the likelihood of the monitor instantly waking up right after being put to sleep (Xaver Hugl, Plasma 6.0. Link)

When using the Plasma systemd integration (which is on by default when you have systemd), Plasma is now more comprehensive about killing processes when logging out, which should prevent crashes at logout and dangling zombie processes that can prevent logging in again. This might end up being backported, too! (David Edmundson, link)

When using a Panel on the bottom screen edge, Task Manager tooltips that include media controls are no longer sometimes positioned in the wrong place (David Edmundson, link)

Breeze-themed GTK2 apps no longer look wrong (well, not as wrong, at least) when using a dark theme (Someone going by the pseudonym “Mors Mortium”, link)

It’s now possible to remove a favorite from Kickoff and other launcher menus whose underlying app or file has since been deleted (Méven Car, link)

Page headers throughout Kirigami-based software will no longer sometimes elide titles when there’s plenty of room for them when using certain combinations of fonts and font sizes (Ivan Tkachenko, link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

It’s no longer possible for the lock screen to break and show the dreaded “the screen locker is broken” screen due to QML cache corruption as a result of running out of space on the system. To be clear, it can still break for other reasons too, but we are working on tracking those down as well! (Harald Sitter, Plasma 5.27.9. Link)

Fixed the actual root cause in KDE software for the “ever-growing ScreenMapping config file key causes Plasma to crash or fail to launch new apps” issue. And that fix also allowed us revert the stopgap fix to cap the number of mappings and fix icons being always unsorted when there was a huge amount of stuff on the desktop (Marco Martin, Plasma 5.27.9. Link)

Fixed multiple issues with Discover’s reviews popup, including being too slow and sometimes failing to load or submit reviews (Marco Martin, Plasma 5.27.9. Link 1, link 2, and link 3)

KMenuEdit once again correctly creates .desktop files with exec= keys that point to executable files that have spaces or other special characters in their file paths (Méven Car, Plasma 5.27.9. Link)

In KRunner and KRunner-powered searches, searching for recent files is once again correctly completely case-insensitive as expected (Alexander Lohnau, Plasma 5.27.9. Link)

Fixed a fairly complex issue that was causing Flatpak-based GNOME apps to display text without any anti-aliasing when run in Plasma (Timothée Ravier, Plasma 5.27.9. Link )

If a touchscreen calibration matrix has been configured, KWin now respects it (someone doing by the pseudonym “The Official GMan”, Plasma 5.27.9. Link)

It’s now possible to use the keyboard to focus buttons in the toolbars of KDE apps using the KXMLGui framework (Felix Ernst, Frameworks 5.111. Link)

Other bug-related information of interest:

Automation & Systematization

Added basic UI tests for the applets and System Settings pages that live in plasma-workspace! (Fushan Wen, link 1 and link 2)

Fixed various problematic autotests in the Kirigami and KSvg frameworks, and made it mandatory for them to pass before merge requests can be merged (Marco Martin, link 1 and link 2)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

A bit on sponsorship and money

The topic of sponsored work comes up surprisingly often. Now, many KDE developers are already sponsored by businesses to work on KDE software, either on a full-time-work basis, or for specific areas of work. But what’s less common is for a specific person to sponsor another specific person to work on a specific bug or feature. I’m talking about short-term gigs paying most likely a few hundred euros or less. This can work well for getting persistent bugs in the yellow boxes fixed. It does happen, but it’s not as common as I think anyone would like! There’s a lot of untapped potential here, I think.

So today I’d like to announce the creation of a Sponsored work” category in the KDE forum! This is a place for people to come together for the purpose of sponsoring work on individual bugs or features. If you’re willing to sponsor work for something, post about it here. If you’re open to these kinds of micro-sponsorship opportunities, look for them here!

Since we are a free software community, sometimes concerns about money and sponsored work arise. Therefore, let me bring up an additional option, originally thought up by Jakob Petsovits the last time someone offered to sponsor work: offer an option to donate the sponsorship money to KDE e.V.! This option can be more motivating for passionate KDE developers who don’t personally need the money, and might otherwise ignore such opportunities.


On the subject of donating to KDE e.V., we have a fancy new donation web page that makes it much easier to set up recurring donations! This being too hidden was been a very valid complaint in the recent past, so it’s wonderful to see a better UX here. This work was done by Carl Schwan, Paul Brown, and others at this weekend’s Promo Sprint–which is itself funded by KDE e.V.

And at this point, KDE e.V. is funding quite a lot of initiatives. Sprints have come roaring back, and we’re sponsoring people to represent KDE at more external events than ever before. We also have a whole bunch of employees and contractors doing meaningful technical work on core KDE software. It’s a lot!

Needless to say, this isn’t cheap. KDE e.V. has been funding this major expansion by deliberately spending down its reserves for a few years to avoid getting in trouble with the German tax authorities for having too much money (yes, really; this is actually a thing). But that can’t last forever! We’re going to need help to sustain this level of financial activity.

If you can, consider setting up a recurring donation today! It really does make a difference. Anything helps!

This week in KDE: an unfrozen panel for NVIDIA Wayland users

Though the number of total Plasma 6 known issues rose this week, we managed to fix some major and longstanding ones from Plasma 5! You might recognize a few in the text below. Ultimately, these were deemed more pressing than the comparatively minor new ones. We’ll be continuing to hammer those bugs, but we do need help–your help! Discovering bugs is important, but so is fixing them, and we need help to get it done.

Plasma 6

General infoOpen issues: 90

Fixed the infamous issue of Panels visually freezing in the Plasma Wayland session when using a non-Intel GPU in conjunction with the Basic QtQuick render loop and Task Manager previews turned on (David Edmundson et al, link)

Searching for apps, System Settings pages, and other things classified internally as “services” in KRunner and other KRunner-powered search tools (such as Kickoff) now matches English text as well when using the system in a language that’s not English (Alexander Lohnau, link)

When using a single-row Icons-Only Task Manager, the last opened task on the row is no longer sometimes missing under certain circumstances (Marco Martin, Link)

Fixed a bug that could cause auto-started apps with System Tray icons to sometimes not show their System Tray icons as expected until manually quit and re-launched (David Edmundson, link)

Fixed various cursor glitches and brokenness when using rotated screens in the Plasma Wayland session on a GPU that supports hardware cursors (Xaver Hugl, link)

The “Manually block sleep and screen locking” switches of multiple Battery and Brightness widgets are now synchronized; when one is toggled, all of them will change as well (Natalie Clarius, link)

Repeated messages on the lock screen now do a little bounce, rather than piling up and repeating themselves (me: Nate Graham, link):

Reduced resource usage in QtQuick apps that have mnemonics–those little underlines below letters when you hold down the Alt key (Kai Uwe Broulik, link 1 and link 2)

The menu item that says “Enter Edit Mode” now changes to “Exit Edit Mode” when you’re already in Edit Mode (me: Nate Graham, link)

The Kirigami.BasicListItem component has been deprecated with a planned removal in KF6, because it was too slow, heavy, and inflexible, worsening performance in QtQuick apps that used a lot of them. In its place are a new set of lightweight components that are thin wrappers around the standard Qt ItemDelegate, CheckDelegate etc. components, plus some more basic building blocks for making custom list items. This provides most of the convenience of BasicListItem, without the performance overhead (Arjen Hiemstra, link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Gwenview now displays images more correctly when using a fractional scale factor in the Plasma Wayland session (Kai Uwe Broulik, Gwenview 24.02. link)

Fixed multiple bugs in Elisa that could cause odd and incorrect behavior when you re-arrange the contents of the playlist around the currently-playing song (Jack Hill, Elisa 24.02. Link)

Filelight once again respects the settings regarding folders exclusions and filesystem boundaries (Yifan Zhu, Filelight 23.08.2. Link)

When closing a document in Kate and KWrite that has unsaved changes, you’ll no longer see two dialogs asking you if you want to save them (Kai Uwe Broulik, Kate and KWrite 23.08.2. Link)

Widgets using the standard Plasma Calendar integration will no longer sometimes display holidays from the default region, rather than the selected one (Eugene Popov, Plasma 5.27.9. Link)

Other bug-related information of interest:

Automation & Systematization

Added some autotests for MPRIS media playback global shortcuts (Fushan Wen, link 1 and link 2)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releasable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

So let’s talk about this Wayland thing

Wayland. It comes up a lot: “Bug X fixed in the Plasma Wayland session.” “The Plasma Wayland session has now gained support for feature Y.” And it’s in the news quite a bit lately with the announcement that Fedora KDE is proposing to drop the Plasma X11 session for version 40 and only ship the Plasma Wayland session. I’ve read a lot of nervousness and fear about it lately.

So today, let’s talk about it!

What is Wayland?

Wayland is a set of protocols that govern how a compositor draws stuff on the screen, and how apps interact with the compositor’s drawing-stuff-on-the-screen infrastructure. It’s similar to the HTTP and SMTP protocols that govern how web browsers and email clients send and receive web pages and data.

Wayland also includes an implementation of those protocols in a set of extremely lightweight libraries called libwayland-client and libwayland-server that offer stable and versioned APIs. Apps and compositors such as KDE’s KWin and GNOME’s Mutter use those APIs to do stuff.

Why does Wayland exist?

In a nutshell, because X11–the thing it’s replacing–is dead.

X11 has been in maintenance mode for years, and recently has gotten no real development at all other than changes to the XWayland compatibility system that allows X11 apps to use a Wayland compositor. Having something as central as the window server being unmaintained is a major issue, as it means no bug fixes, no security patches, and no new features to let it keep up with a changing world.

Why did X die?

The fundamental X11 development model was to have a heavyweight window server–called Xorg–which would handle everything, and everyone would use it. Well, in theory there could be others, and at various points in time there were, but in practice writing a new one that isn’t a fork of an old one is nearly impossible. Everyone strongly preferred to standardize on a single X server and migrated in unison from one to another when a better fork became available, because it was convenient. And it was convenient because because it centralized limited development resources, and when a feature was added to the X server, everyone gained access to it automatically.

But there was a drawback: because everyone was using Xorg, any feature added to support any use case could break everything else that everyone else used, and this happened frequently. Bug fixes frequently regressed obscure functionality that others were using.

In essence, Xorg became too large, too complicated, and too fragile to touch without risking breaking the entire Linux ecosystem. It’s stable today because it’s been essentially frozen for years. But that stability has come hand-in-hand with stagnation. As we all know in the tech world, projects that can’t adapt die. Projects that depend on them then die as well.

How is Wayland any better?

Wayland was conceived of by X developers who wanted to avoid repeating their own mistakes. In addition to a lot of technical differences, by being a minimal set of protocols and two extremely thin client and server libraries, all the heavy lifting was delegated to individual compositors, which became the window servers of their environments. A new feature added to one would not destabilize any other compositors. Compositors were also free to implement new features via private protocols outside of the standard ones that apps only targeting that compositor could use.

Wait, that sounds like it sucks

Wayland has not been without its problems, it’s true. Because it was invented by shell-shocked X developers, in my opinion it went too far in the other direction. Wayland’s minimal core protocols are lacking most of the features that non-trivial apps and desktops actually need to work–such as screen locking, screen sharing, cross-app window activation, non-integer scaling, and so on. Compositors all needed to come up with ways to do these things themselves. And that need for each compositor to implement everything itself fragments development efforts and disadvantages small teams without the expertise of heavy-hitting graphics developers. These are real problems and we shouldn’t sweep them under the rug.

Yes, but there are solutions

Over time the minimal core protocols have been extended to cover what’s needed for a Linux desktop and sophisticated apps to work. Much of this work is very recent, driven by KDE, and funded by Blue Systems and Valve Software. So most complaints you read about Wayland missing this or that (such as fractional scaling, or screen sharing, or global shortcuts) from over a year or two ago are likely to be wrong today.

In addition, the problem of fragmentation of effort is being solved by wlroots, a library of Wayland implementations that you can use to build a Wayland compositor. We don’t use it in KDE’s KWin compositor because we already did most of that work ourselves before wlroots existed, but it’s a big benefit to anyone writing a new compositor from scratch today.

Another thing to consider is that this fragmentation brings some benefits: Wayland protocols having multiple distinct implementations in different compositors ensures that they remain properly compositor-agnostic, and not just publicly-facing implementation details of one compositor (like how Google treats the web these days).

Why is the adoption taking so long?

The fact that Wayland’s minimal core protocol made it unable to fully replace the thing it aimed to replace was a bad architectural design decision on the part of its authors that crippled the prospect of its rapid adoption when it was released in 2008. We didn’t see the same problem with other newer projects like Systemd and PipeWire which were adopted much faster.

And unfortunately, shepherding new protocols through the approval process to fix this problem is a grueling political exercise. It demands empathy and compromise with people from other projects who approach the problem you’re trying to solve from a fundamentally different perspective. Someone may disagree that the problem is even worth solving. Bikeshedding derails the discussion and everyone gets demoralized and stops working on it. For a long time, the urgency of pushing through it was low because X wasn’t dead yet.

So it took over a 15 years and resulted in Wayland’s dirty laundry being aired in public for that whole time. And that sucks. But… we’re there now. Standard protocols now exist for just about everything anyone needs. The few remaining obvious omissions (like screen color calibration) are being actively worked on as a matter of priority.

“Are we there yet?”

Plasma and KDE apps work great on Wayland, especially in the upcoming Plasma 6 release. Like I said, there are still a few omissions, but those holes are being plugged very quickly these days.

Most 3rd-party apps that aren’t Wayland-native also work fine via the XWayland compatibility layer. But there are some that don’t, because they integrate very deeply into some part of the system in a way that requires X11 support. These need to be ported to use new Wayland APIs.

A lot of app developers became accustomed to tuning out Wayland news while it was still a toy, and didn’t do the porting work. Well, it’s not a toy anymore, and now many are now feeling blindsided by the sudden urgency to port their apps to use Wayland. That’s understandable. But this time it’s for real, and the time to port is now. For any protocols that still aren’t good enough and need revision, app developers’ input is needed to revise them or even propose new ones. This process takes a long time, so better to start sooner rather than later. But it’s not just gonna go away.

Which brings us to Fedora KDE

Fedora has always been a “leading edge” distro that pushes forward the technical state of the art on Linux by adopting new technology once it’s mostly ready, thus causing it rapidly improve in a way that it otherwise would not have. Fedora was the first distro to adopt Systemd, PulseAudio, and PipeWire. It was the first to use the Plasma Wayland session by default. And now Fedora KDE wants to be the first to drop the Plasma X11 session entirely and make everyone use the Plasma Wayland session.

It should be clear that Fedora’s target audience consists of people who are excited about change. If this is you, all of these projects should seem exciting and cool! If not… then Fedora isn’t for you. And that’s fine. The Linux world has approximately five hundred bajillion distros. What’s that you say? Only about 20 of them are any good? Well, fair enough, but even if that pulled-out-of-someone’s-butt number is accurate, there are still 19 distros that aren’t Fedora! Reinstalling your OS is unpleasant, but it’s important to choose the right one that suits your needs and preferences. Choice comes with the responsibility of choosing wisely.

Maybe you’re afraid that Fedora is a “canary in the coalmine” that shows the way everything is going to go. And you wouldn’t be wrong about that, but transitions still take time. Distros that intentionally ship old software like Ubuntu LTS or Debian Stable will let you keep using X11 for years and years. Arch will probably keep shipping X11 for a while too. You have options. By the time Ubuntu LTS removes X11 too, everything will be fully ready.

Putting it all together

Wayland is a replacement for X11, which is dead. Despite a rocky development process, it’s ready enough for Plasma and KDE apps that Fedora KDE is pushing it pretty hard. Many 3rd-party apps are already Wayland-native, but many are not, and they need to put in the work to port to Wayland. If anything they need is still missing, they need to step up to be part of the process of adding it. This process is happening, and isn’t going to stop happening. We need to work together to make it happen faster and more smoothly.

This week in KDE: more Plasma 6 dev

This week it was pretty much all Plasma 6 all the time. With the release date four and a half months away, work is kicking into high gear to make sure that we hit our deadline!

Plasma 6

General infoOpen issues: 87

Made even more cursor responsiveness improvements for the Plasma Wayland session! The cursor is really very responsive now 🙂 (Xaver Hugl, link)

This work as also substantially improved latency in general, especially for games (Xaver Hugl, link)

Kickoff now has an option to move its sidebar over to the other side of the main view. This has better Fitts’ Law adherence and zero risk of accidental category switching if you use the mouse pointer to activate Kickoff and launch Favorites more often than you activate it with the Meta key or switch categories (Forest Ix, link)

The default keyboard shortcut used to open the Activity Switcher has been changed to Meta+A, so that its prior shortcut Meta+Tab can be used some something else, which is coming soon… (Niccolò Venerandi, link)

When you have Powerdevil configured to hibernate after a period of sleep, invoking sleep using KRunner now respects that preference and hibernates at the appropriate time (Natalie Clarius, link)

Sped up the launch time of Plasma and QtQuick-based KDE apps by loading the mobile text editing toolbar on demand, rather than always (Fushan Wen, link 1 and link 2)

fstab-mounted NFS drives no longer produce duplicate items in the Places panel of various KDE apps and the open/save dialog (Méven Car, link)

Discover now shows release data for SteamOS system updates in a prettier and more comprehensible way (Jeremy Whiting, link)

Discover’s “About” page now uses the newer and more attractive FormCard style (Carl Schwan, link):

A variety of QtWidgets-based dialog windows that have menubars or toolbars now use the common unified header style that KDE’s app windows use (Carl Schwan, link):

Created a new standard component: Kirigami.InlineViewHeader, and ported a bunch of list and grid views to use it (me: Nate Graham, link):

The “Upgrade your distro now” notification message is no longer radioactive (Oliver Beard, link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Spectacle now takes Rectangular Region screenshots correctly when you’re using any screen scale factors less than 100% (Noah Davis, Spectacle 24.02.0. Link 1 and link 2)

Fixed a case where the touchpad daemon could randomly crash (Gabriel Souza Franco and Fushan Wen, Plasma 5.27.8. Link)

Fixed a rare case where KWin would crash in the Plasma Wayland session when waking from sleep (Xaver Hugl, Plasma 5.27.9. Link)

The Alt+Tab window switcher is now fully accessible via the standard Orca screen reader in the Plasma Wayland session (Fushan Wen, Plasma 5.27.9. Link)

While updating a lot of Flatpak apps at the same time, discover can no longer exhaust the system’s set of available file handles and then fail (Discover 5.27.9. Link)

Automatically turning off the keyboard backlight when on battery power now works, if you’ve configured it to do this (Nicolas Fella, Plasma 6.0. Link)

Fixed a bug that could cause KIO-using apps to crash when trying to overwrite a file under certain circumstances (Kevin Ottens, Frameworks 5.111. Link)

Other bug-related information of interest:

Automation & Systematization

Added autotests for KHamburgerMenu (Felix Ernst, link)

Added more autotests for window placement in KWin (Vlad Zahorodnii, link)

Fixed a flaky autotest for the Task Manager in Plasma, and also expanded it to cover more things (Fushan Wen, link)

Fixed a flaky autotest in KIO (Méven Car, link)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

This week in KDE: power management galore

This was a big week for backend work, especially on the subject of power management and energy efficiency!

Plasma 6

General infoOpen issues: 81

New Features

Welcome Center’s first page can now be customized by distros–or for that matter, by users (me: Nate Graham, link)

User Interface Improvements

The KDE desktop portal implementation now supports the new cross-desktop accent color standard (Fushan Wen, Plasma 5.27.8 Link)

The separator line between the titlebar/toolbar area in KDE apps and the content below it is now drawn at the correct stroke weight with a high DPI screen (Carl Schwan, Plasma 5.27.8. Link)

KRunner-powered searches now only show you sleep modes that are actually supported by the system, and you can also now find them by searching for the word “power” (Natalie Clarius, Plasma 6.0. Link 1 and link 2)

After the work done last week to improve cursor responsiveness and lower power usage in the Plasma wayland session… we did some more! (Xaver Hugl, Plasma 6.0. Link)

The notifications about low and critically low battery power are now worded in a shorter and clearer way (me: Nate Graham, Plasma 6.0. Link)

The Lock/Logout widget no longer changes in height when configured to only show one item (Yannick, Plasma 6.0. Link)

Improved the keyboard navigation and accessibility properties of Discover’s Reviews viewer and entry page (Ivan Tkachenko, Plasma 6.0. Link 1 and link 2)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Fixed a glitch in Dolphin that could cause the view to not display the correct files after clearing the text entered in the search field (Amol Godbole, Dolphin 24.02. Link)

When run in a VM, Plasma now disables auto-suspend as this can sometimes cause the VM to hang (Natalie Clarius, Plasma 5.27.8. Link)

Hybrid Sleep now actually works (Natalie Clarius, Plasma 5.27.8. Link)

System Settings’ Accessibility page no longer erroneously asks you to save your changes when you leave it without having actually made any changes (Jürgen Dev, Plasma 5.27.8. Link)

The Baloo file indexing service no longer re-indexes everything after every reboot when using the Btrfs filesystem (Tomáš Trnka, Frameworks 6.0. Link)

The file dialog is once again capable of saving to files with quotes in their names (Andreas Bontozoglou, Frameworks 6.0. Link)

In various QtWidgets-based apps, star ratings are no longer inaccurate when using icon themes that lack the rating-unrated icon (Felix Ernst, Frameworks 6.0. Link)

Other bug-related information of interest:

Automation & Systematization

Improved some autotests in Plasma and KPipeWire (Fushan Wen and David Edmundson, link 1 and link 2)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

September Plasma 6 update

A month has passed since the last Plasma 6 status update, so it’s time for another one!

First, what you’ve all been waiting for: a release date! We’ve decided that Plasma 6 will be released in early February of 2024. We don’t have a specific day targeted yet, but it’ll be in that timeframe. I’m feeling quite confident that the release will be in excellent shape by then! It’s already in good shape right now. 5 months should provide enough of a runway for a solid final release.

What’s done

Over the last month, a few remaining porting tasks were completed:

  • Replace PlasmaCore.SortFilterModel with KItemModels.KSortFilterProxyModel. Less code duplication, yay!
  • Replace Kirigami.Avatar with KirigamiAddons.Avatar and KirigamiAddons.AvatarButton, which are easier to use and better-behaved.
  • Introduce an opt-in dedicated sidebar column UX for System Settings KCMs, and port various bespoke stuff to use it.
  • DataEngines have been made into thin wrappers around other functionality and moved into a new package called Plasma5Support, so porting away from them isn’t so urgent anymore and won’t block the release.

This work was done by Marco Martin, Arjen Hiemstra, Carl Schwan, Nicolas Fella, and me: Nate Graham. All this porting work is leveling off as the major work has now been completed, making room for features and bugfixes. This means we are solidly in stage 4 of the roadmap (features and planned changes) and nibbling on stage 5 (QA and convergence).

In the feature department, major work included:

  • Custom ordering for KRunner search results
  • Printers KCM rewritten in QML
  • Double-click by default
  • Tap-to-click by default
  • Icons throughout Plasma itself now exclusively come from the systemwide icon theme
  • Support for automatic bug reporting in DrKonqi and improved reporting flow in general
  • Autostart KCM shows details about entries
  • Distros can now customize the first page in Welcome Center

This work was done by Alexander Lohnau, Mike Noe, Harald Sitter, Nicolas Fella, Thenujan Sandramohan, Xaver Hugl, and me, Nate Graham.

In terms of bugs, it’s been an all-hands-on-deck affair, with everyone helping out. As a result our list of open Plasma 6 issues is down to 75 today, after having risen three weeks ago to an all-time high of 87. The number has been falling since then, which is a great sign–bugginess has peaked and we’re starting to converge! And not all of these are major, high profile issues, either; as of this writing, there are only 15 of those. These are the true showstoppers that must be fixed before we can release Plasma 6. As for the rest, we’ll be trying our best to get as many of those done too to ensure that quality on release day is as high as possible!

What’s next

There are a lot of items remaining in the “Work that’s been decided on but not implemented yet” section on the Plasma 6 wiki page–both started but not yet finished, and also not yet started. It’s time to get cracking on that stuff! If you want your features to be included in Plasma 6.0, we have about 2 months to do it before the soft feature freeze.

Beyond that, it will be a matter of bugfixing, bugfixing, and more bugfixing!

How to Help

Basically the same as last time: if you’re a developer, live on Plasma 6, work on your features, and fix bugs! If you’re a user, test out Plasma 6 and report issues! And if this makes you feel excited in your nether regions, reach for your wallet instead and make a donation to KDE e.V. so we can continue to fund that which needs to be funded!

This week in KDE: Custom ordering for KRunner search results

This was a big week for KRunner! In addition, the number of open Plasma 6 issues continues to tick down. Thanks to everyone who’s been making this happen!

Plasma 6

General infoOpen issues: 81

You can now manually configure certain types of search results in KRunner to be high priority and hence always appear first in the results list! (Alexander Lohnau, link):

KRunner has also received a lot of performance work (Alexander Lohnau, link)

Landed some nice performance work for KWin as well, including making it do less unnecessary work by avoiding repainting layers of the screen that haven’t changed at all (Xaver Hugl, link)

Did a Plasma performance push too, resulting in various parts of Plasma and System Settings launching in some cases hundreds of milliseconds faster (Fushan Wen, link 1, link 2, link 3, and link 4)

The Breeze icon theme’s “refresh” icon and all other icons that use a similar “circle with arrows” style of iconography have now been updated with a new arrow style that looks nicer (Philip Murray, link):

The Breeze icon theme now has more colorful weather icons to match additional weather conditions supported by various weather providers (Alois Spitzbart, link)

When supported, KRunner and KRunner-powered searches now let you manually initiate “Hybrid Sleep”, which is when the system goes to sleep immediately and then hibernates in a few hours (Natalie Clarius, link):

The Display Configuration widget is now less intrusive on your System Tray, and only appears in the visible part if you’ve enabled Presentation Mode (Fushan Wen, link)

Improved the “your distro shipped Discover without its app backends” message to be shorter and more comprehensible (me: Nate Graham, link)

Explanatory text of placeholder messages found throughout Kirigami-based apps is now mouse-selectable and copyable, and can contain clickable links (me: Nate Graham, link)

User Interface Improvements

Preview thumbnails for HDR images being viewed in non-HDR mode apps are now converted to the sRGB color space, ensuring that they’re actually viewable (Mirco Miranda, kio-extras 23.12. Link)

Konsole’s multi-process architecture gained support for putting each process in its own Systemd cgroup when using (Systemd, of course), which makes them show up correctly as children of Konsole in System Monitor (Theodore Wang, Konsole 23.12. Link)

We now support public holidays in Benin (Lukas Sommer, KDE Frameworks 5.110. Link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Fixed yet another way that Plasma could crash when switching Global Themes (Harald Sitter, Plasma 5.27.8. Link)

The Widget Explorer’s category filter once again works for people using the system in a language other than English after we broke this recently, sorry! (David Redondo, Plasma 5.27.8. Link)

Fixed one of the most common random generally unexplainable-to-the-user crashes in Plasma (David Edmundson, Plasma 6.0. Link)

In the Plasma Wayland session, the “Maximized” window placement mode no longer gets inappropriately applied to OSDs (David Edmundson, Plasma 6.0. Link)

Other bug-related information of interest:

Automation & Systematization

Added a bunch of autotests for Kirigami.PlaceholderMessage (Ivan Tkachenko, link)

Added a bunch of autotests for the Media Controller widget (Fushan Wen, link)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

This week in KDE: tap-to-click by default

This week we weren’t done improving input device defaults; for Plasma 6, touchpad tap-to-click is now enabled by default! If you’re curious about the reasons, click that link.

In addition, convergence is starting to happen. You might notice that the number of open Plasma 6 issues is lower this week than it was last week! A good sign for sure.

Plasma 6

General infoOpen issues: 85

In the Plasma Wayland session, text copied from an XWayland-using app now remains on the clipboard after it quits (David Edmundson, link)

In the Plasma Wayland session, dialog windows with parent windows set to live on multiple virtual desktop now always appear on the current virtual desktop (Vlad Zahorodnii, link)

System Settings’ minimum window size is now smaller, fitting better into low-resolution 1366×768 screens with thick panels (me: Nate Graham, link)

System Settings’ Printers page has been rewritten in QML for better future maintainability and a more modern and consistent style (Mike Noe, Print Manager 23.12 with Plasma 6. Link):

Icons in Dolphin’s item view now look better and smoother when using a fractional scale factor (Kai Uwe Broulik, Dolphin 23.12 with Plasma 6. Link)

Other User Interface Improvements

In Dolphin, you can now middle-click a file to open it in the first app in the expanded “Open with” list, rather than the default app for its file type (Méven Car, Dolphin 23.12. Link)

.3mf files now display thumbnails showing their 3D model contents (Bernhard Sulzer, Dolphin 23.12. Link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Yet again fixed the ability to monitor NVIDIA GPUs using System Monitor, this time improving compatibility with multi-GPU setups (Oliver Beard, Plasma 5.27.8. Link)

The time that you configure your system to dim the screen after is now respected, instead of the screen dimming in half that time (Konstantin Kharlamov, Plasma 6.0. Link)

Starting a Plasma Wayland session in VirtualBox is now more reliable (Xaver Hugl, Plasma 6.0. Link)

Improved reliability with symlinked or hardlinked files on Samba shares opened with KIO-using KDE apps (Kevin Ottens, Frameworks 5.110. Link)

Other bug-related information of interest:

Automation & Systematization

Koko now produces Flatpak bundles with every commit and Merge Request change via its CI system (Tobias Fella, link)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

This week in KDE: Double-click by default

This was a week of huge changes and improvements, starting with our headliner! Yes it’s true, by default in Plasma 6, you’ll single-click to select files and folders, and double-click to open them. The patches have now landed, done by me. This remains user-configurable, of course.

But there’s a whole lot more to talk about as well! This is gonna be a big one…

More Plasma 6 awesomeness

General infoOpen issues: 87

KWin’s blur effect has been totally rewritten for better reliability. Among other things, this fixes the infamous glitches that have been appearing for people using fractional scale factors as well as the blocky cursor trails for users of NVIDIA and some AMD GPUs (Vlad Zahorodnii, link)

When a KDE app crashes and you click on the “Report bug” button in the notification, the DrKonqi crash reporting wizard you’ll see has now been hugely simplified and includes an option to report the crash automatically to our new Sentry-based crash tracker, no need for a Bugzilla account! (Harald Sitter, link):

System Settings’ Autostart page now lets you see the technical details about entries’ startup sequences which lets you debug why they might not be behaving as expected (Thenujan Sandramohan, link):

Cycling through keyboard brightness level keys (e.g. with Fn+Space on many laptops) now shows an OSD for the change (Natalie Clarius, link)

When toggling the keyboard backlight off and back on, it now remembers its previous brightness level (Natalie Clarius, link)

The minimum screen brightness is now always 1, and the minimum keyboard brightness is now always 0, ensuring that the screen backlight never turns off completely at minimum brightness, while the keyboard backlight always does (me: Nate Graham and Natalie Clarius, link 1 and link 2)

The “Alternative widgets” popup has been modernized and now has the typical hover highlight effect (Lukas Spies, link)

It’s now possible to change the wallpaper immediately after changing the desktop containment type (e.g. switching from Folder View to Desktop or back) (Fushan Wen, link)

In the System Tray configuration window, the icons shown to represent the widgets now match the actual icons shown in the System Tray itself (me: Nate Graham, link):

The project to fully remove the concept of icons in the Plasma style has been completed, so now all icons come from the systemwide icon theme. In addition, we have also completed the project to remove the ability to globally change the size of toolbar, dialog, and small icons in some KDE apps that respected these global settings (not all did), in order to reduce the number of ways to scale things on the system so that people will be more likely to use one of the supported methods. For more information about these planned and previously announced changes, see https://pointieststick.com/2023/07/26/what-we-plan-to-remove-in-plasma-6/.

Other User Interface Improvements

Dolphin’s settings window has gotten an overhaul to re-arrange things to be more logical (Dimosthenis Krallis, Dolphin 23.12. Link)

The initial location for Elisa’s “Files” view is now user-configurable but defaults to the system’s “Music folder” location (Me: Nate Graham, Joshua Goins, and Eduardo Bray, Elisa 23.12. Link 1 and Link 2)

KCalc now remembers its window size, and position too on X11 (Gabriel Barrantes, KCalc 23.12. Link)

Apps using the KHolidays framework now have support for holidays in Tanzania (Lukas Sommer, Frameworks 5.110. Link)

Settings dialogs for QtWidgets-based apps now have a search field in the header area that can be used to find settings on individual pages!!! (Waqar Ahmed, Frameworks 6.0. Link):

Improved the Breeze icon for .bak and other backup files (Alexander Wilms, Frameworks 6.0. Link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Fixed a way that Plasma could crash when launching an app using the Task Manager while its tooltip was open (Fushan Wen, Plasma 5.27.8. Link)

Implemented a workaround for a weird issue that could cause Plasma to eventually slow down and crash on systems that frequently change monitor arrangements. A better fix will be coming for Plasma 6 (Harald Sitter, Plasma 5.27.8. Link)

Fixed a way that taking screenshots using Spectacle could fail in the Plasma X11 session (Noah Davis, Plasma 5.27.8. Link)

Sensors in System Monior and the widgets of the same name now work properly when your system is using the C locale (Maciej Stanczew, Plasma 5.27.8. Link)

Other bug-related information of interest:

Automation & Systematization

A long-failing test in the plasma-workspace has been fixed, in the process requiring fixes to various things that were actually broken that the text had caught–imagine that! (Marco Martin, link)

Wrote extensive autotests for the Powerdevil profile generator code (Jakob Petsovits, link)

Tests are now required to pass before a merge request can be merged in the plasma-framework, plasma-workspace, plasma-desktop and print-manager repos (Harald Sitter and me: Nate Graham, link 1, link 2, link 3, and link 4)

Changes not in KDE that affect KDE

Firefox now supports the Wayland fractional scaling protocol, so it will be smoother and better looking when using a fractional scale factor (Emilio Cobos Álvarez and Robert Mader, Firefox 118. Link)

Fixed a common way that Qt-based apps could crash when disabling a screen (Axel Spörl, Qt 5.15.12, or the latest snapshot of the KDE Qt patch collection. Link)

Fixed a major graphical glitch affecting people using certain AMD GPUs (Melissa Wen, Linux kernel 6.5. Link)

Sped up the glCopyTexSubImage2D graphical operation on integrated Intel GPUs, which helps various KWin effects (Sviatoslav Peleshko, Mesa 23.3, Link)

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!