This week in KDE: “Make multi GPU not suck”

This week a lot of bugs and other issues got fixed, including a major overhaul of KWin’s multi-GPU infrastructure for Intel and AMD GPUs in Plasma 6 to make it “not suck” anymore! Big thanks to Xaver Hugl for this impactful work.

And here’s a sampling of other cool work:

New features

When performing an action that would otherwise automatically activate a window on another virtual desktop, there’s now an option to not switch to it at all. This can be useful for workflows such as opening a lot of links from an email client in a web browser located on another desktop, because then you won’t have to re-focus the email client after every link you open (Nicolas Fella, Plasma 6.0. Link)

User Interface Improvements

The “Highlight Changed Settings” feature in System Settings now works on the Flatpak Permissions page (Ivan Tkachenko, Plasma 5.27.5. Link)

The Emoji Selector window is now significantly faster to appear when you launch it with Meta+. (Fushan Wen, Plasma 5.27.5. Link)

Authentication dialogs now have a streamlined style to better focus the parts that matter (Devin Lin, Plasma 6.0. Link):

When a Folder View widget is using its popup list form, its items are now always opened with a single click because this is a menu style UI and menu items are always activated with a single click (me: Nate Graham, Plasma 6.0. Link)

On the System Settings’ KWin Rules page, various properties’ settings are now explained much more clearly (me: Nate Graham and Ismael Asensio, Plasma 6.0. Link 1, link 2, and link 3)

The Breeze icon theme now includes icons for .abc Alembic files (Áron Kovács, Frameworks 5.106. Link)

Significant Bugfixes

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

In the Plasma Wayland session, Spectacle is now faster to take screenshots and never ever ever includes its main window in screenshots that it takes (Noah Davis, Spectacle 23.04 with Plasma 5.27.4.1 or newer. Link)

Setting screen refresh rates higher than 60Hz when using AMD GPUs is once again possible, working around an issue in the open-source AMD drivers (Xaver Hugl, Plasma 5.27.4.1. Link)

Fixed a major memory leak that could, under certain circumstances, quickly gobble up all memory when an external display was plugged in (Harald Sitter, Plasma 5.27.5. Link)

When an offline system update fails, you’ll no longer be endlessly notified about it on login even after you click the “Repair System” button in the notification that Discover shows you about it (Aleix Pol Gonzalez and me: Nate Graham. Link 1 and link 2)

Discover no longer sometimes mixes up the order of the “from” and “to” version numbers for Flatpak apps, or incorrectly states that an upgrade from one version to the next one is a refresh of the existing version–though sometimes it actually is a refresh of the existing version, so it isn’t always a bug when you see this (Ismael Asensio, Plasma 5.27.5. Link)

Fixed a cause of excessive memory usage that could even crash Plasma when using KRunner to search for unusual things (Fushan Wen, Plasma 5.27.5. Link)

Widgets can now be properly centered between two flexible Panel spacers places on vertical panels, not just horizontal panels (Niccolò Venerandi, Plasma 5.27.5. Link)

Discover now succeeds at applying several types of firmware updates that would trip it up before (Aleix Pol Gonzalez, Plasma 5.27.5. Link)

Other bug-related information of interest:

…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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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!

Plasma Products

In the open-source world, we’re quite familiar with projects. Write some code to solve a problem, make sure it works for you, maybe put it in a Git repo, and voila! A project is mostly personal; you scratch an itch and improve your life a bit. It’s how everything starts.

Then you put your Git repo online to share your project with others, and it begins to transform into a product. A product is outward-focused; its purpose is to be of value to others. To succeed, it must grow organizational components such as defined scopes of features and support, documentation, promotion and advertising, methods of distribution and updating, formalized feedback channels, decision-making processes, and so on.

This transition is hard, and it can burn out FOSS maintainers of productized projects who suddenly find themselves corresponding with rude strangers without pay and lacking the time to focus on the parts of the project they found fun. It takes a very special and rare kind of volunteer to consistently do this work for free.

In the commercial world, product development and maintenance is sustained by the money people pay to buy the product. But in the FOSS world, we’re in this awkward valley where our products are frequently competitive in functionality and reach with the commercial ones, but we don’t generally charge money or benefit from a funding stream to keep them going sustainably.

FOSS funding

…But sometimes we do! For example, the Krita foundation pays several engineers to work on the product. KDE e.V. now also pays multiple people to do critical technical work for Plasma and its surrounding app and library ecosystem: porting and platform maintenance, writing and maintaining customer-focused features, documentation, and packaging. This isn’t cheap! And because we give our products away for free, the money to pay the people consistently doing this important work is very limited and comes from corporate patronship, individual donations, grants, and sometimes paid downloads on the proprietary app stores. Keeping this financial flow going is itself a lot of work! This is normally the part where I beg you to donate! 🙂 But not right now. Right now I want to explore alternatives.

Software is hard to sell. Always has been. These days the most successful funding models for software are not a great match for what we typically build, and some even seem sort of fundamentally icky or morally objectionable, like DRM-restricted subscription services, micro-transactions, or being ad-supported. Software sold with these models is exploitative, so that’s no good. And the older model of paying for download makes even less sense for us since the source code of our products is available for free and there’s already an enormous surrounding infrastructure for the packaging and distribution of open source software. Why would anyone pay to download something they can get for free legally and almost effortlessly?

To get people to pay for a product or service, you have to provide something they can’t already easily and legally get themselves for free.

Like hardware devices

This is why I think it’s so important that we have hardware vendor partners: hardware devices are inherently products that people pay for. When KDE’s hardware vendor partners use KDE’s software in their products, it pushes that software more in the direction of being product-friendly–which is to say, user-friendly. Some of our vendor partners even pay people to work on improving KDE software directly, which is amazing and it’s something I’d like to see even more of. There are also financial benefits for KDE e.V. in the form of patronship dues and getting a portion of sales, which can be re-invested to pay for work on the software in general; I think it’s important that a majority of technical decision-making remains in KDE.

But if the product is the laptop or phone or gaming console, what does that make Plasma?

A toolkit for building products

My KDE colleague Niccolò Venerandi published an interesting video about this the other day (and also here in text/blog form). Basically he echoes an Akademy 2022 talk given by KDE e.V. president Aleix Pol Gonzalez about how Plasma itself is a kind of toolkit for building the software UX for products. I’ve also written about this before.

In this way of looking at it, the Plasma Desktop we’re all familiar with is one such UX built by KDE itself, and companies like Valve, Slimbook, Kubuntu Focus, Tuxedo, and Pine64 ship Plasma-powered products using that desktop UX and others. We even learned at least year’s Akademy that Mercedes is driving their in-car UI with KWin, Plasma’s window manager!

Now, this doesn’t mean you should go all “well akshually…” on your friends when they say “Plasma” or “KDE” to mean “Plasma Desktop.” Who cares! It’s obvious. And the Plasma Desktop is probably going to be our biggest thing for a while. It’s got the longest history and the most passion behind it. But the point stands: beneath Plasma Desktop lies a whole flexible system for quickly building other UX paradigms better suited for different kinds of devices.

If you don’t use that capability in your daily life, that’s fine. If you do use it to transform your Plasma Desktop into something totally unique that’s perfectly adapted to your personal needs and desires, that’s fine too! And what’s even more fine is when companies use this functionality to sell products with a Plasma-powered UX and invest in KDE! Seen in this way, Plasma is a powerful tool for all kinds of embedded software-driven products. We’ve already done most of the R&D that you’ll get for free; it just makes sense.

Being product-friendly

If Plasma is a tool to reduce cost and risk when building a product that uses it, we need to treat it more like what it is: a B2B developer tool. This means things like focusing on distro and hardware vendor use cases; ensuring painless and bulletproof customizability; maintaining documentation for all features; providing a rich library of components; offering a friendly and adequate out-of-the-box UX; having our own distribution and updating tools you can use if you want; and pitching our work to potential customers. Do all of those things sound familiar? They should! It’s what many members of the KDE community have been focusing on over multiple years. Documentation in particular is sorely needed to improve adoption by product-focused companies, and that’s why KDE e.V. hired a documentation contractor early this year. And KDE e.V. has a marketing team too, to improve outreach! Hmm, almost sounds like there’s a plan in place!

How to help

If being part of a movement to help get a Plasma-powered UX on all sorts of devices sounds cool and exciting, there a lot of ways to help!

  • Keep using Plasma Desktop, submitting bug reports, and fixing stuff; keep being awesome! Focus in particular on hardware integration and developer UX.
  • Help write developer documentation, particularly around shell customization and theming.
  • Be aware of the larger context and understand how proposed changes will affect others who use Plasma and Plasma-powered products. We don’t exist in a vacuum! The project is larger than us.
  • If the company you work for is using Plasma on their devices, start a conversation internally about becoming a KDE Patron, or about devoting engineering efforts towards direct upstream contributions to Plasma.
  • If the company you work for isn’t using Plasma on their devices, pitch it to them!
  • Donate to KDE e.V. so we can hire more people to technical work and offer expanded hours and work opportunities to the people we already have (they are currently part-time or less).

This week in KDE: All about the apps

This week some of your favorite KDE apps got lots of positive changes! Dolphin, Kate, Okular, Elisa, Partition Manager, and Filelight all received some nice improvements.

In the background, Plasma 6 porting work continues. I’ve now got a working Plasma 6 dev session on my machine. It’s still rough, but it’s usable. Now I can see why more experienced contributors predicted the need to skip a release and give the initial Plasma 6 release at least an 8 month dev cycle, not a 4-month one. But fear not; it’s happening!

New Features

When Dolphin is in split view mode, there are now context menu items and keyboard shortcuts to let you quickly move or copy items to the opposite view (Méven Car, Dolphin 23.08. Link)

Links in files open in Kate are now clickable! (Waqar Ahmed, Kate 23.08. Link)

Note that for now this requires you to manually enable to “Open link” plugin, which is shipped by default but left disabled

User Interface Improvements

Partition Manager now finally has its own icon, instead of re-using Filelight’s icon (Gerson Alvarado, Partition Manager 23.08 and Frameworks 5.106. Link):

Filelight’s default window size is no longer too large to fully fit on a 1366×768 screen (me: Nate Graham, Filelight 23.04. Link)

Dolphin once again tries to tell you what to do instead of running it with sudo (me: Nate Graham, Dolphin 23.04. Link):

Terminal window showing the message: Running Dolphin with sudo is not supported as it can cause bugs and expose you to security vulnerabilities. Instead, install the `kio-admin` package from your distro and use it to manage root-owned locations by right-clicking on them and selecting "Open as Administrator".

Improved the RTL layout and focus indicator lines in various types of Breeze-themed buttons, checkboxes, and radio buttons (Ivan Tkachenko, Plasma 5.27.4. Link 1, link 2, and link 3)

Scrolling on the Task Manager and Pager widgets now works more reliably when you sometimes scroll using a touchpad and sometimes using a mouse wheel (Prajna Sariputra, Plasma 5.27.5 Link 1 and link 2)

You can now press-and-hold with a touchscreen to open a context menu for System Tray icons (Fushan Wen, Plasma 5.27.5. Link)

Scrolling over the Audio Volume, Media Player, and Battery & Brightness widgets now always raises or lowers the volume and brightness based on the direction of the scroll rather than respecting the natural/inverted scroll direction setting (Vlad Zahorodnii and me: Nate Graham, Plasma 6.0. Link 1 and link 2)

Streamlined the appearance of the “cool Plasma features” pages in Welcome Center (Oliver Beard, Plasma 6.0. Link):

Plasma Welcome window showing "Open Settings…"button in header area

When showing the logout screen by pressing the power button or Ctrl+Alt+Del, it now defaults to pre-selecting the “Shut down” action by default, rather than “Log out” (me: Nate Graham, Plasma 6.0. Link)

Significant Bugfixes

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

Fixed a way that Okular could crash when you try to save changes made after filling out forms in a document (Albert Astals Cid, Okular 23.04. Link)

When using Elisa in a language other than English, cover overlay “Play” and “Add to Playlist” buttons now immediately work on startup (Matthieu Gallien, Elisa 23.04. Link)

Fixed a complex multi-monitor bug involving misbehavior with KVM/headless setups that can sometimes prompt people to work around the issue by purchasing and using a bi-directional EDID emulator gizmo (Kai Li, Plasma 5.27.5. Link)

Fixed a recent regression in the size and sharpness of GTK CSD windows’ minimize, maximize, and close buttons when not using any scaling (Fushan Wen, Plasma 5.27.5. Link)

System Monitor sensors that use the “watt-hour” unit now display the unit correctly (Kai Uwe Broulik, Plasma 5.27.5. Link 1 and link 2)

On Info Center’s Networks page, the Refresh button now actually works (Harald Sitter, Plasma 5.27.5. Link)

Dragging from empty areas of the toolbar in Discover and many other Kirigami-based apps now always works, rather than only working on some pages/views and not others (Marco Martin, Kirigami 5.106. Link)

And last but not least… fixed a major source of the infamous Dolphin bug where folders don’t update in real-time when contents are modified in another app (Méven Car, Frameworks 5.106. Link)

Other bug-related information of interest:

Automation & Systematization

Added an autotest to test the various different ways that items can be opened in Dolphin (Felix Ernst, Link)

When you try to change translated text in a KDE git repo, a git hookscript now stops you, because translations are handed elsewhere and merged into the git repos via an automated process (Ben Cooksley, Link)

Changes not in KDE that affect KDE

Logging out of a Wayland session (not shutting down or rebooting, just logging out) now works as expected (Fabian Vogt, SDDM 0.20. 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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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: it’s the little things that count

This week a lot of people made a lot of fixes and improvements to a lot of small-to-medium yet longstanding issues. I challenge any reader to read through the whole post and not find any instances of things that had been annoying them being fixed this week!

New Features

Skanpage now lets you customize its keyboard shortcuts (Someone going by the pseudonym “John Doe”, Skanpage 23.08. Link)

Kate now includes a QML language server option when using Qt 6 (Magnus Groß, Kate 23.08. Link)

User Interface Improvements

Gwenview now only inhibits sleep and screen locking during a slideshow while the app is in the foreground (Nikita Karpei, Gwenview 23.04. Link)

Star rating widgets in Elisa are now focusable and usable with the keyboard (Ivan Tkachenko, Elisa 23.08. Link)

KDialog dialogs no longer append ” – KDialog” to their window titles when showing a custom user-provided title (me: Nate Graham, KDialog 23.08. Link)

Energy usage graphs in Info Center are now a bit more readable when using a dark color scheme (Prajna Sariputra, Plasma 5.27.4. Link):

Info Center with dark color scheme showing energy graph with more readable light colored separator lines

Discover no longer sends notifications for available updates when it’s already running (Aleix Pol Gonzalez, Plasma 5.27.4. Link)

Discover now provides better feedback in the main window when asked to delete user data for no-longer-installed Flatpak apps (Aleix Pol Gonzalez, Plasma 6.0. Link)

In Info Center, page footers have now been moved to the header area for a more streamlined appearance (Oliver Beard, Plasma 6.0. Link):

Info Center showing Filter field and "Copy to Clipboard" button in the header, rather than a footer

Notifications sent by Flatpak apps no longer play a sound by default (Nicolas Fella, Frameworks 5.105. Link)

The portal-based app chooser window can now additionally match apps based on their generic names and the filename extensions and mimetypes they support (Fushan Wen, Plasma 6.0. Link):

Portal-based "Choose Application" dialog showing text editors in the view, filtered down by searching for ".txt" in the search field

In various Kirigami-based apps, menus with mutually exclusive items now show the correct control–a radio button rather than a checkbox (Ivan Tkachenko, Elisa 23.04 and Frameworks 5.105. Link 1 and link 2):

Elisa sort menu showing two groups of mutually-exclusive items with radio buttons

Installed Flatpak apps from Flathub now respect the Breeze icon theme (Alois Wohlschlager, Frameworks 5.105. Link)

Significant Bugfixes

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

Fixed the common and infamous crash in Gwenview when quickly rotating an image multiple times in a row (Nikita Karpei, Gwenview 23.04. Link)

Pressing the PrintScreen key to take a new screenshot while Spectacle’s main window is already running now works again (Noah Davis, Spectacle 23.04. Link)

When browsing files on an Android devices using the mtp: protocol, it’s now possible to modify files on the device (Harald Sitter, kio-extras 23.08. Link)

Fixed a common source of KWin crashes in the Plasma Wayland session when certain external screens turn off on their own after being disabled and re-enabled by something (Aleix Pol Gonzalez, Plasma 5.27.4. Link)

Fixed a source of kded5 crashes when switching screens (Luca Bacci, Plasma 5.27.4. Link)

Discover is now massively faster and more responsive when a lot of system updates are available (Aleix Pol Gonzalez, Plasma 5.27.4. Link)

When a GTK headerbar app themed with the Breeze GTK theme is maximized, the top-right-most pixel in the screen now triggers its close button (Fushan Wen, Plasma 5.27.4. Link)

In the Plasma Wayland session, the scroll speed setting now works again (me: Nate Graham, Plasma 5.27.4. Link)

In the Plasma Wayland session, switching global themes now immediately updates the colors of running GTK apps, without the need to restart them (Fushan Wen, Plasma 5.27.4. Link)

The Baloo file indexing service will no longer pointlessly try to index files in Python virtualenv folders (Ayush Mishra, Frameworks 5.105. Link)

Other bug-related information of interest:

Changes not in KDE that affect KDE

Chromium now supports the fractional-scale-v1 Wayland protocol, which will allow native Wayland apps based on Chromium (e.g. Chrome and Electron apps) to eventually have proper fractional scale support in the Plasma Wayland session (Thomas Anderson, Chromium 113. Link)

Blender now also supports the fractional-scale-v1 Wayland protocol! (Campbell Barton, 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, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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: Distro upgrades for Fedora KDE in Discover

New Features

With the new XwaylandVideoBridge utility, you can now screencast native Wayland windows from Xwayland apps like Discord (Aleix Pol Gonzalez and David Edmundson, Link)

Dolphin now has an option to not change the information and preview shown in the Information Panel when hovering over files, and to instead only do so when deliberately selecting files (Oliver Beard, Dolphin 23.08. Link):

Context menu for Dolphin's Information panel showing the new "Show item on hover" menu item highlighted

Discover can now upgrade from one major version of Fedora KDE to another! (Alessandro Astone, Plasma 6.0. Link)

User Interface Improvements

When using multiple monitors that all have the same name and serial number, they are now visually distinguished from one another in various places by showing their connector names (David Redondo, Plasma 5.27.4. Link)

Using Kicker’s “Sort applications alphabetically” setting now removes any manually-placed separator lines between applications, rather than positioning them nonsensically (Joshua Goins, Plasma 5.27.4. Link)

The text ” – Portal” is no longer confusingly appended to the window titles of open/save dialogs and authentication dialogs in portal-using apps (Nicolas Fella, Plasma 6.0. Link 1 and link 2)

The Breeze icon theme now includes beautiful new icons for the Night Color feature (Philip Murray, Frameworks 5.105. Link):

Significant Bugfixes

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

Our prior fix for Aurorae window decorations getting visually corrupted did not handle all circumstances, so we pushed a new one that does, which should fully correct the problem for everyone (David Edmundson, Plasma 5.27.4. Link)

System Settings no longer crashes when discarding changed settings on the Quick Settings page (David Redondo, Plasma 5.27.4. Link)

Red and blue colors of the cursor are no longer swapped when screencasting in some apps (Aleix Pol Gonzalez, Plasma 5.27.4. Link)

You’re no longer offered the opportunity to set a screen resolution that, due to the particularities of the active graphics drivers, will cause graphical glitches or crashes (Xaver Hugl, Plasma 5.27.4. Link)

Non-floating panels no longer have an excessively high minimum thickness when using Plasma themes that feature rounded corners with a very large radius (Niccolò Venerandi, Plasma 5.27.4. Link)

Switching Plymouth boot splash themes now works properly for distros that use mkinitcpio rather than update-initramfs (Antonio Rojas, Plasma 5.27.4. Link)

Fixed a way that the SDDM login screen could freeze for while when using the Breeze SDDM theme (Ivan Tkachenko, Plasma 5.27.4. Link)

The Baloo file indexing service no longer adds index data for unprintable characters into the database, which could cause apps to crash (Igor Poboiko, Frameworks 5.105. Link)

Other bug-related information of interest:

Automation & Systematization

Added an autotest to make sure that Bug 465225 does not recur (Fushan Wen, Plasma 5.27.4. Link)

Changes not in KDE that affect KDE

When using a high refresh rate screen in the X11 session, QML animations no longer go too fast (Someone awesome in Qt, Qt 6.4. Link)

In the Plasma Wayland session, fast user switching now works (Fabian Vogt, SDDM 0.20. Link)

When using SDDM in native Wayland mode, it no longer inappropriately tries to launch xdg-desktop-portal-kde and causes it to crash in a loop (Aleix Pol Gonzalez, SDDM 0.20. 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, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly! You might notice the numbers of VHI and HI bugs being fairly stagnant recently. This is because Plasma’s heavy-hitters are busy with Qt 6 porting right now, leaving them with less time for bugfixing and feature work. Volunteers can help fill in that gap! It really is that simple. 🙂

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: “More Wayland fixes”

It’s become almost a running joke on Phoronix at this point, but this week we do indeed have more Wayland fixes! 🙂 …And other things as well, including some good UI improvements to various KDE apps in addition to the background work of Qt 6 porting that is continuing full steam ahead, and reaching a position of increasing stability. Come see!

User Interface Improvements

Ark’s welcome screen is now richer with features, to be more like the one in Kate (Eugene Popov, Ark 23.04. Link):

New Ark welcome screen showing "recently used" list and documentation links

Made a few UI improvements to Elisa, such as showing a “Quit” menu item in the hamburger menu when using the System Tray icon feature, correctly returning to the prior window state when exiting full screen mode, and resetting the playback position slider to the beginning when the playlist is manually cleared (Nikita Karpei and me: Nate Graham, Elisa 23.04. Link 1, link 2, and link 3)

Okular’s default toolbar layout has now been tweaked a bit, and now includes the “View Mode” menu by default and also shows the zoom and view buttons on the left side, with the tools on the right side (me: Nate Graham, Okular 23.04. Link 1 and link 2):

Okular main window showing new toolbar layout with zoom and view controls on the left and various other tools on the right

When “Fix it for me!”-style actions in the Samba sharing wizard fail, you’re now shown an appropriate error message explaining what went wrong (me: Nate Graham, kdenetwork-filesharing 23.08. Link)

Plasma now exposes global actions for “Restart” and “Shut Down” so you can add keyboard shortcuts to trigger them. We already had the “without confirmation” versions of these actions, but these new ones will ask for confirmation first (me: Nate Graham, Plasma 6.0. Link)

When importing VPN configurations, any errors are now shown in the UI so you can figure out what went wrong and maybe fix it yourself (Nicolas Fella, Plasma 5.27.3. Link)

While downloading new Flatpak apps, Discover now reports the status as “Downloading” correctly (Aleix Pol Gonzalez, Plasma 5.27.4. Link)

If your keyboard has an Emoji key, pressing it now opens the Emoji Picker window (Konrad Borowski, Plasma 5.27.4. Link)

Info Center has adopted a flattened sidebar structure so pages no longer live in sub-categories. This should make it easier and faster to access everything (Oliver Beard, Plasma 6.0. Link):

Info Center window showing flattened sidebar navigation with no sub-category groups

When you synchronize your Plasma settings to SDDM, it now also syncs the cursor size (me: Nate Graham, Plasma 6.0. Link)

We no longer misleadingly use Filelight’s icon for the 3rd-party GParted app in the Breeze icon theme (me: Nate Graham, Frameworks 5.105. Link)

Significant Bugfixes

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

Fixed a source of crashes in System Settings when importing VPN configuration files (Nicolas Fella, Plasma 5.27.3. Link)

Fixed another source of clipboard-related crashes in Plasma (Fushan Wen, Plasma 5.27.4. Link)

Significantly improved robustness of screen arrangements when using a multi-monitor setup that includes monitors with identical EDID values (Xaver Hugl, Plasma 5.27.3. Link)

Significantly improved robustness of Plasma containments’ mapping to screens when using multi-monitor setups (David Edmundson, Plasma 5.27.3. Link)

Fixed the way GTK apps scale themselves in the Plasma Wayland session when using multiple screens with different physical DPI values (Luca Bacci, Plasma 5.27.4. Link)

In the Plasma Wayland session, Plasma no longer quits (not crashes!) when an app sends a window title that’s wayyyyy too long (David Edmundson, Plasma 5.27.4. Link)

In the Plasma Wayland session, screen recording and Task Manager thumbnails now work properly for users of NVIDIA GPUs with the proprietary drivers (Jan Grulich, Plasma 5.27.4. Link)

Other bug-related information of interest:

Automation & Systematization

Added a UI test for Discover to test installing and uninstalling apps from the PackageKit backend (Harald Sitter. Link)

Changes not in KDE that affect KDE

In its native Wayland mode, Firefox no longer has an invisible animation that forces the screen to constantly repaint, causing KWin to unnecessarily consume excessive CPU resources (Emilio Cobos Álvarez, Firefox 113, 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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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: Qt apps survive the Wayland compositor crashing

Thanks to the heroic work of David Edmundson, Qt apps (including all KDE software) in Plasma 6 will now survive when the Wayland compositor crashes! This is huge! And work is ongoing to add this functionality to other common app toolkits, such as GTK.

Beyond that, Plasma 6 porting work continues, with more and more people using it daily. Not me yet, because I’m a scaredy-cat about this kind of instability and am waiting for it to converge a bit more 🙂 But hopefully soon! Meanwhile, check out what else happened:

New Features

Konsole Now works on Windows! In addition to making the app possible to potentially distribute on Windows, this means that Windows-distributed KDE apps that have an embedded Konsole view like Kate can now actually embed Konsole itself, instead of an inferior terminal view (Waqar Ahmed and Christoph Cullmann, Konsole and Kate 23.04. Link 1 and Link 2)

User Interface Improvements

Spectacle now always shows a notification when taking a background-mode rectangular region screenshot (with Meta+Shift+PrintScreen by default) and also no longer quits if its main window happened to be open while any such notification disappears (Noah Davis, Spectacle 23.04. Link 1 and link 2)

For new users (not existing users), the system will now sleep after 15 minutes of inactivity by default, and will generate correct power profiles for convertible laptops (Plasma 5.27.3, me: Nate Graham, Link 1 and link 2)

On Discover’s app pages, the rows of buttons now become columns for narrow windows or the mobile interface, and their layout is streamlined and improved as well (Emil Velikov, Plasma 5.27.3. Link):

Discover mobile view showing "Documentation," Website," and "Share" buttons in a column

Welcome Center now has a mobile-friendly layout. The content itself is still fairly desktop-focused, but this will soon change as well! (me: Nate Graham, Plasma 6.0. Link):

Welcome Center app showing "Manage Software" page in narrow mobile mode

In the Plasma Wayland Session, the Ctrl+Alt+Scroll up/down shortcut that switches virtual desktops has been changed to Meta+Alt+Scroll up/down to avoid blocking app-specific shortcuts and also generally comply with the standard that global actions use the Meta key (me: Nate Graham, Plasma 6.0. Link)

When using the Kickoff Application Launcher’s setting to use a grid view for non-favorites views, this now affects the All Applications view too (Tanbir Jishan, Plasma 6.0. Link)

Improved how the SDDM login screen works with a touchscreen in the Plasma Wayland session: touch input works at all, tapping the Virtual Keyboard button now opens it, and the keyboard layout list can now be scrolled with a swipe (Aleix Pol Gonzalez and me: Nate Graham, Plasma 5.27.3 and Frameworks 5.104. Link 1, link 2, and link 3)

Significant Bugfixes

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

KRuler now works properly on Wayland, and can now be moved or resized like on X11 (Shenleban Tongying, KRuler 23.04. Link)

Fixed another way the powerdevil power management subsystem could crash with certain multi-screen setups (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Fixes a way that apps could crash in the Plasma Wayland session when a display goes to sleep (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Night Color now works on ARM-powered devices that don’t support “Gamma LUTs” but do support “Color Transform Matrices”! It still doesn’t work on NVIDIA GPUs because they don’t support either of them (Vlad Zahorodnii, Plasma 5.27.3. Link)

Red and blue color channels are no longer sometimes swapped while screencasting in the Plasma Wayland session (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Image buttons in Breeze-themed GTK apps are now displayed correctly (Janet Blackquill, Plasma 5.27.3. Link)

Fixed two major crashes in Plasma related to actions that would show window thumbnails in the Task Manager (Fushan Wen, Frameworks 5.104. Link)

Other bug-related information of interest:

Automation & Systematization

Re-organized https://develop.kde.org/docs to have a more straightforward structure and make it easier to find stuff (Carl Schwan. Link)

Wrote some documentation about KRunner metadata (Alexander Lohnau, Link)

Web Presence

https://kde.org/for/scientists is now live! This web page showcases the best KDE software to use for professional, technical, scientific purposes, including by NASA and Barcalona’s ALBA Synchrotron.

https://develop.kde.org/frameworks/kirigami has been overhauled to showcase the latest state-of-the-art in KDE’s Kirigami app development framework:

Thanks to Carl Schwan, the KDE Promo team, and many others for making these impactful changes happen!

…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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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!

Did you know you can Meta+Ctrl+Scroll to zoom on Wayland?

I didn’t! I just discovered it today while working on fixing a bug. And boy is it awesome! Just hold down the Meta (aka “Super” or “Windows) and Ctrl keys, then scroll. Boom! Note that this only works in a Plasma Wayland session.

We don’t expose this shortcut in the UI right now, so it’s quite hidden and explains why I and probably many others didn’t know about it. We’ll work on improving this.

This week in KDE: Plasma 6 begins

As has been reported in various other places already, this week the “master” branch of Plasma-aligned software repos have been ported to Qt 6. Work is ongoing, but the actual change-over is happening very quickly, and adventurous people are able to run Plasma 6 in a usable state already! This builds on years of work to port old code away from deprecated APIs and libraries that was just quietly happening in the background all along, pushed along by people like Nicolas Fella, Friedrich Kossebau, Volker Krause, and many others. It can be fairly thankless and boring-looking work, but it’s incredibly important, and the foundation of how quickly this technical transition has been able to happen. So I find myself feeling quite optimistic about our chances of shipping a solid and high quality Plasma 6 this year!

…And that’s the reason for this being a somewhat light week in terms of other things. But fear not! Plasma 5.27 continues to be maintained and bugfixed!

New Features

There’s now an option to change the visual intensity of the outline drawn around Breeze-decorated windows, or to disable them entirely. Currently this is slated to be released in Plasma 6.0, but we’re considering backporting it to 5.27 as well. Stay tuned! (Akseli Lahtinen, Plasma 6.0. Link):

System Settings window with Breeze Dark theme, showing new option to adjust shadow intensity in the Breeze theme settings window; the new "Outline intensity" combobox shows the options "Off," "Low," "Medium," "High," and "Maximum."

User Interface Improvements

The new portal-based “Open With” dialog is no longer used by non-portal-using apps; they now get the older dialog again. This is still the future design direction we want to go in, but we plan to roll the new dialog out again only once it has all the features of the old dialog, so that nothing is lost in the transition (me: Nate Graham, Plasma 5.27.3. Link)

Linked buttons in Breeze-themed GTK apps like Rhythmbox now look better (Ivan Tkachenko, Plasma 5.27.3. Link):

Breeze-themed Rhythmbox window showing header with conjoined buttons, playing "From Here To Eternity, by Iron Maiden from Fear Of The Dark album

Notifications in the history pop-up are now sorted chronologically, rather than by a somewhat difficult to understand combination of type and urgency (Joshua Goins, Plasma 6.0. Link)

The way sizes and positions of KDE app windows are remembered for multi-screen setups is now fundamentally more robust, so you should see fewer circumstances of windows having the wrong size and position when using multiple screens, especially when the specific screens change (me: Nate Graham, Frameworks 5.104. Link)

It’s now possibly to directly delete items that are already in the trash (Méven Car, Frameworks 5.104. Link)

Significant Bugfixes

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

When using an NVIDIA graphics card, after you reboot or wake the system from sleep, external screens are no longer usually inappropriately disabled, and also icons and text throughout Plasma are no longer sometimes missing (Ivan Tkachenko, Plasma 5.27.2. Link 1 and link 2)

Fixed a case where KWin could crash when switching window decoration themes (Vlad Zahorodnii, Plasma 5.27.2. Link)

In the Plasma Wayland session, when the clipboard history has been set to only one item, it’s now possible to copy text with a single copy action, not two (David Redondo, Plasma 5.27.3. Link)

Desktop icons on the active activity should no longer inappropriately re-arrange themselves when the set of connected screens changes. However during the process of investigation, we discovered that the code for storing desktop file position is inherently problematic and in need of a fundamental rewrite just like we did for multi-screen arrangement in Plasma 5.27. This will be done for Plasma 6.0, and hopefully make Plasma’s long history of being bad about remembering desktop icon positions just that–history (Marco Martin, Plasma 5.27.3. Link)

Gwenview now only registers its MPRIS interface when it’s doing something (i.e. playing a slideshow) that’s controllable over MPRIS, which should prevent it from sometimes hijacking your global media playback shortcuts while it’s running normally (Joshua Goins, Gwenview 23.04. Link)

Other bug-related information of interest:

Automation & Systematization

We now have a new tutorial on how to create cursor themes (Magno Lomardo, Link)

We now have a tutorial on uploading your KDE app to the Microsoft Store (Thiago Sueto, Link)

Added an autotest to make sure that “preferred” apps that are not actually installed are omitted from the Task Manager as expected (Fushan Wen, Link)

Added an autotest to ensure that we’re handling System Tray icons form apps correctly (Fushan Wen, Link)

Plasma now has a “codemap” file to help people learn what and where things are (Bharadwaj Raju, 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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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: even better multi-monitor

Something funny happens when you take something that was super broken and you make it work a lot better: people start to use it more! And then they submit bug reports for all their unusual use cases that you failed to anticipate or that hadn’t been getting exercised in a long time. So in the short term it looks like things are worse, but in fact they’re better because the bug reports are becoming about more and more exotic use cases over time.

I saw this happen starting 2 years ago with the Plasma Wayland session (which has since become very robust), and now it’s happening again with multi-monitor setups. We finally nailed the basics, so people are trying it out again, abandoning their xrandr hackaround scripts, and submitting bug reports about the issues with their wild and wacky screen arrangements. 🙂 And this is great! So we spent a ton of time this week working on fixing all those edge case bugs to make our new multi-monitor system even more robust. With a strong foundation, fixing the bugs isn’t that hard!

And while the core Plasma team worked on those things, a lot of great work also was done by everyone else to add features and polish the user interface! So there’s lots to see this week:

New Features

Using the context menu item present in Dolphin and the desktop, you can now set an image to be the wallpaper for the lock screen too, or for both the desktop and the lock screen at the same time! (Julius Zint, Plasma 6.0. Link):

Context menu for image on the desktop showing items for: "Set as wallpaper" > "Desktop," "Lockscreen," and "Both."
Ignore the fact that there are two “Set as Wallpaper” menu items; this is a bug that will be fixed soon

User Interface Improvements

Kate and KWrite now internally save their set of open documents shortly after they’re opened, so if either app crashes or gets killed due to memory pressure, you won’t lose your open documents when you re-open it anymore (Waqar Ahmed, Kate & KWrite 23.04. Link)

Okular now zooms smoothly rather than in steps when you Ctrl+scroll using a touchpad or a high-resolution scroll wheel (Friso Smit, Okular 23.04. Link)

When setting up a new Plasma system, apps that are pinned to the Task Manager by default in Plasma (Discover, System Settings, Dolphin, and a web browser) but not actually installed by default on the operating system you’re using will now simply be omitted, instead of remaining visible with a broken icon and doing nothing when clicked (Fushan Wen, Plasma 5.27.2. Link)

Welcome Center has received a visual overhaul to bring it more in line with other KDE apps, so now its interactive buttons appear in a footer and there are dots showing all pages and which page is active (Oliver Beard, Plasma 6.0. Link 1 and link 2):

Welcome Center app with footer containing Next and Previous buttons and dot-based page indicator

Discover’s application page has received yet another visual overhaul, making better use of space, reducing redundancy, and looking better overall (me: Nate Graham, Plasma 6.0. Link):

  • Discover window showing new header layout for Krita app
  • Discover window showing new header layout for OpenScad app

System Settings’ Flatpak Permissions page now includes a search field for the apps list and a pretty header for the apps details pane (Ivan Tkachenko, Plasma 6.0. Link):

System Settings FlatpK Permissions page showing search field avoce the app list pane and large header over app permissions page

Significant Bugfixes

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

Fixed a recent regression that could cause Plasma to crash when waking up the system while using a multi-screen arrangement (Aleix Pol Gonzalez, Plasma 5.27.1. Link)

Found a better way to fix incorrect scaling in the Plasma Wayland session for XWayland-using Electron apps that does not result in any regressions, and also fixes scaling in Steam, too! (Luca Bacci and Fushan Wen, Plasma 5.27.1. Link 1 and Link 2)

Fixed a recent regression that caused line artifacts to appear around panels when using a fractional scale factor in the Plasma Wayland session (Arjen Hiemstra, Plasma 5.27.2. Link)

Fixed a case where KWin could crash in the Plasma Wayland session while a video was playing in VLC (Vlad Zahorodnii, Plasma 5.27.2. Link)

Fixed a case where KWin could crash while logging out of a Plasma Wayland session and leave you hanging (Vlad Zahorodnii, Plasma 5.27.2. Link)

When using the recently-released version 1.8.11 or later of the fwupd library, Discover will now always launch properly (Adam Williamson, Plasma 5.27.2. Link)

Fixed a recent regression that could cause powerdevil to crash with certain multi-screen arrangements, breaking power management (Aleix Pol Gonzalez, Plasma 5.27.2. Link)

Fixed a case where System Settings could crash while applying or reverting screen arrangement changes (Arjen Hiemstra, Plasma 5.27.2. Link)

Fixed a major recent regression in how Aurorae window decoration themes were drawn in the Plasma Wayland session (David Edmundson, Plasma 5.27.2. Link 1 and link 2)

Fixed a semi-recent regression in the Plasma Wayland session that allowed the cursor to briefly go 1 pixel beyond the screen on the bottom and right screen edges, somewhat breaking Fitts’ Law and causing hover-enabled UI elements on screen edges to flicker (Xaver Hugl, Plasma 5.27.2. Link)

Fixed an issue in the Plasma Wayland session where desktop size would be computed subtly incorrectly when using a fractional scale factor and cause various off-by-one-pixel visual and functional glitches all over the place (David Edmundson, Plasma 5.27.2. Link)

Discover no longer shows complete nonsense for most distro-repo-provided apps in the “Distributed by:” field on app pages (me: Nate Graham, Plasma 5.27.2. Link)

The semi-new QML version of the Present Windows effect now works properly with the keyboard when invoked in its mode that only shows the windows of a specific app, no longer allowing you to invisibly focus windows of other apps too (Vlad Zahorodnii, Plasma 5.27.2. Link)

When using a fractional scale factor in the Plasma Wayland session, the cursor is now rendered correctly in XWayland-using apps (Xaver Hugl, Plasma 5.27.2. Link)

Multi-screen arrangements consisting of screens from the same vendor that differ by only the last character of their serial numbers (imagine a large company buying monitors in bulk) will no longer get scrambled on login (David Redondo, Plasma 5.27.2. Link)

Fixed a semi-recent regression in the Plasma Wayland session that could cause the Baloo file indexer service to crash frequently (David Redondo, Frameworks 5.104. Link)

When getting new add-ons using the “Get New [Thing]” dialog, the sheet to let you choose which thing you want to get in case there’s more than one is now correctly scrollable in case it does not fit in the view (Ivan Tkachenko, Frameworks 5.104. Link)

Other bug-related information of interest:

Automation & Systematization

The tutorial for writing Kirigami apps has been rewritten for massively improved usefulness and helpfulness! (Thiago Sueto, Link)

The continuous integration systems for Gwenview and Kamoso now build the apps as Flatpaks for every change! (Neelaksh Singh, Link 1 and link 2)

Changes not in KDE that affect KDE

In the Plasma Wayland session, power management when using DisplayPort screens now works again for users of the Neon and Fedora KDE distros, which it turns out had not been building the KIdleTime library with its proper Wayland support enabled (Jonathan Riddell and Marc Deop i Argemí, right now! Link).

…Okay so technically Neon is in KDE, but it seemed more awkward to mention Neon separately elsewhere and Fedora KDE here, since both distros suffered from the same underlying issue that was causing the same user-facing bug, and both needed the same change to fix it.

…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 user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

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!