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!

This week in KDE: a smooth release of Plasma 5.27

This week we finally released Plasma 5.27 and so far it’s been very smooth! The only significant regressions found so far are already fixed, ready for release in a few days. There have been some grumblings about the new window outlines feature, but you can’t please everyone, and there’s a chance we’ll end up making them optional.

New Features

Dolphin now lets you configure how permissions are shown in Details view (Serg Podtynnyi, Dolphin 23.04. Link)

Dolphin settings window showing new setting to control "Permissions style", with the options "Symbolic (e.g. 'drwxr-xr-x')", "Numeric (Octal) (e.g. '755')", and "Combined (e.g. 'drwxr-xr-x' (755)')"

While you’re viewing the page for an installed Flatpak app in Discover, you can now jump straight to the System Settings page for configuring its permissions (Ivan Tkachenko, Plasma 6.0. Link 1 and link 2):

Discover window showing OBS packaged via Flatpak with list of permissions and "Configure Permissions…" button

User Interface Improvements

Dolphin’s code for counting directory sizes has been made faster, improving performance especially with manually-mounted network shares that for some reason aren’t detected as such (Méven Car, Dolphin 23.04. Link)

Gwenview now zooms smoothly rather than in steps when you Ctrl+scroll using a touchpad (Friso Smit, Gwenview 23.04. Link)

Holiday calendars no longer include astronomical events, so when you also have the Astronomical Events calendar plugin active, you won’t see the same astronomical events twice in the same day anymore (me: Nate Graham, Plasma 5.27.1. Link)

When you search for apps in the portal-based app chooser dialog, it now automatically searches through all of them rather than just the limited set of “recommended” apps that are shown by default (me: Nate Graham, Plasma 5.27.1. Link)

When apps using the portal-based system ask for you to allow screen sharing, you can now give them a specific screen region, not just the whole screen or a single window (Dominique Hummel, Plasma 6.0. Link)

The Task Manager’s “Close” context menu item now says “Close All” for clarity if you right-clicked on a grouped task (Fushan Wen, Plasma 6.0. Link)

The Weather Report widget’s tooltip now shows wind speed and humidity by default (Guilherme Marçal Silva, Plasma 6.0. Link):

Weather Widget tooltip showing city name, temperature, wind speed, and humidity

All System Settings pages that were missing “file a bug on this specific page” support should now have it (Alexander Lohnau and me: Nate Graham, Frameworks 5.104 and the next versions of a couple other things on different release schedules. Link)

Significant Bugfixes

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

The Deutscher Wetterdienst (DWD) weather provider now works again after they changed their data format (Emily Ehlert, Plasma 5.24.8. Link)

Fixed a case where KWin could crash after waking from sleep while using multiple screens with windows tiled to a screen that wakes up very slowly after the system wakes from sleep (Dominique Hummel, Plasma 5.27.1. Link)

Fixed a recent regression in 5.27 that could, under certain circumstances, cause desktop icons to disappear after waking the system from sleep until Plasma was manually restarted (Marco Martin, Plasma 5.27.1. Link)

Fixed a recent regression in 5.27 that caused XWayland-using Electron apps (such as VSCode, Discord, and Element) to be displayed too small when using scaling (me: Nate Graham, Plasma 5.27.1. Link)

The new Flatpak Permissions page in System Settings will now create app-specific overrides properly when using the system in a language other than English (Harald Sitter, Plasma 5.27.1. Link)

Fixed a case where Plasma could crash after waking from sleep after the set of connected screens changed while it was asleep (Marco Martin, Plasma 5.27.1. Link)

Fixed showing information about NVIDIA GPUs in System Monitor, again. This time, for real! (David Redondo, Plasma 5.27.1. Link)

Fixed a recent regression in 5.27 that caused the Digital Clock’s tooltip to redundantly show the current time and timezone even when no additional timezones are configured (me: Nate Graham, Plasma 5.27.1. Link)

The Networks widget will no longer unnecessarily show the loopback interface when using NetworkManager 1.42 (David Redondo, Plasma 5.27.1. Link)

Setting charge limits for batteries that supports charge limits but not charge minimums now works (Fabian Vogt, Plasma 5.27.1. Link)

In the Plasma Wayland session, KDE app windows once again correctly remember their size when using more than one screen (me: Nate Graham, Frameworks 5.104. Link)

Removing content downloaded using the Get New <thing> system is now significantly more robust (Fushan Wen, Frameworks 5.104. Link)

Other bug-related information of interest:

Automation & Systematization

Added an autotest for the Media Player widget’s interactions with the MPRIS2 data interface (Fushan Wen, Plasma 5.27.1. Link)

Changes not in KDE that affect KDE

In the Plasma Wayland session, non-fullscreen Chromium web apps will no longer hijack all global keyboard shortcuts (Nick Diego Yamane, Chromium 111. 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: The best Plasma 5 version ever… again!

Plasma 5.27 LTS will be released in just a few days. And so far it’s on track to be the least-buggy version in memory! At the time of writing there are only three known regressions, down from the dozen or more we usually ship with. A focus on stability pays off!

As part of that effort, you might have heard we did a major push to fix multi-monitor issues for this release, and so far it looks to have worked: tons of people are reporting that their longstanding issues are fixed in the beta! But there are sure to be a few more. When you do encounter an issue, I’d encourage you to read this blog post by Marco Martin before submitting a bug report. In it, you’ll learn how best to submit a bug report for multi-monitor issues and what data to gather, so that it has the best chance of being actionable.

But that’s not all! We landed some great new features for Plasma 6 and made good progress on the 15-minute bugs, too!

New Features

Dolphin can now show you how many pages a document has in its additional metadata display (Serg Podtynnyi, Dolphin 23.04. Link)

KRunner can now convert between time zones. Now it’s easy to find out what any time in your local time zone will be anywhere else in the world! (Natalie Clarius, Plasma 6.0. Link):

User Interface Improvements

When you delete a file in Dolphin, it now selects the next one automatically (Serg Podtynnyi, Dolphin 23.04. Link)

When you ask Elisa to open a Playlist file with invalid paths, it now skips them, shows you a message explaining what happened, and offers you the possibility to open the file you can edit it to fix the broken paths (Nikita Karpei, Elisa 23.04. Link):

Part of Elisa music player's main window showing inline error message that says, "Failed to load some tracks. Make sure they have not been removed or renamed" plus a button labeled "Edit Playlist File"

When Discover’s Flatpak backend is installed and in use, it should now be significantly faster when using version 0.16.0 of the AppStream library (Aleix Pol Gonzalez, Plasma 5.27.1. Link)

System Settings’ Window Decorations page now uses the more modern frameless style, rather than a tabbed view (Joshua Goins, Plasma 6.0. Link):

System Settings main window showing Window Decorations page in a modern frameless style

KRunner will now find files that it previously wouldn’t because they didn’t fall into a common category (Natalie Clarius, Plasma 6.0. Link)

In System Settings’ Region & Language page, the warning that appears when you configure languages in an invalid way by placing any languages below American English in the priority list now displays it as well when you do that for British English or Australian English, which will generally produce a weird mix of languages in your apps (me: Nate Graham, Plasma 6.0. Link)

When you set an opacity window rule, it now defaults to 100% opacity rather than 0% opacity, and if you manually lower it down to 25% or less, it will show a warning that this may make the window difficult to interact with (Ismael Asensio and Natalie Clarius, Plasma 6.0. Link 1 and link 2)

Throughout KDE software, when trying to run a command-line program that doesn’t exist or can’t be found, you’ll now see an appropriate error message telling you this (Thenujan Sandramohan, Frameworks 5.103. Link)

Significant Bugfixes

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

Dolphin should now be significantly less likely to lag or hang while browsing manually mounted network shares. There’s still more to do, and you should still try to access network locations from their network URLs, but this should still help! (Andrew Gunnerson, Dolphin 23.04. Link)

In the Plasma Wayland session, Okular’s main window will now raise as expected when it’s already open and a document is opened from another app (Nicolas Fella, Okular 23.04. Link)

The Digital Clock Widget’s Month View is no longer sometimes empty (Someone awesome, Plasma 5.27. Link)

Performing system updates on some distros no longer sometimes resets your touchpad settings (David Edmundson, Plasma 5.27. Link)

Fixed a source of hangs and lags in Plasma (Arjen Hiemstra, Plasma 5.27. Link)

Apps with System Tray icons are no longer sometimes missing from the Tray when autostarted (David Redondo, Plasma 5.27. Link)

When hovering over a Task Manager icon to show the preview for that window or group of windows, moving the cursor diagonally to the preview in such a manner that it passes over another icon in the process no longer causes the preview to disappear before the cursor gets there. This also fixes a related issue where it was impossible to reach the preview for a window located in the bottom row of a multi-row Task Manager! (Bharadwaj Raju, Plasma 5.27. Link 1 and link 2)

In the Plasma Wayland session, when using a GPU that doesn’t support atomic modesetting, the cursor will no longer disappear when it touches the bottom or right screen edge in WINE games (Xaver Hugl, Plasma 5.27.1. Link)

Dolphin can no longer hang while trying to display metadata and previews for .mobi files (Méven Car, Frameworks 5.104. Link)

Other bug-related information of interest:

Automation & Systematization

Added a new autotest for the Task manager to test the integrity of the data model (Fushan Wen, Plasma 6.0. Link)

Added a new UI test to make sure that the Plasma logout screen works properly (Marco Martin, Plasma 5.27.1. Link)

Added a tutorial for writing Kate plugins (Waqar Ahmed, Link)

Brought the documentation for System Settings’ Workspace Options page up to date (Natalie Clarius, Plasma 6.0. 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

Please test the Plasma 5.27 beta! Bug reports filed against the beta version (5.26.90) get looked at and prioritized. It really helps. And of course, if you’re a developer, fixing those bugs is massively impactful too. 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 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!

Packaging recommendations

I’d like to draw attention to a fairly new wiki page that might be of interest to both packagers and users of DIY-style distros like Arch Linux: our Packaging Recommendations. This page is a reference for how Plasma developers would like to see Plasma set up, and it goes over topics like packages to pre-install by default, packages to avoid, and recommended system configuration tweaks.

This data comes from years of experience with distros that didn’t ship a complete Plasma experience, not out of malice or neglect, but rather because it’s really hard to know the full list of things to do and install! Most of us have had the experience of distro-hopping, only to discover that some issue that was solved in one distro is present in another. Maybe you gained video thumbnails by default after switching, but KDE Connect stopped working, or maybe color Emojis started working but Samba sharing broke. Not fun! This page aims to solve that by providing a reference of how to ship and configure Plasma vis-a-vis these topics for an optimal user experience.

So if you’re a KDE packager, please have a look and adjust your packaging if you find that you’re currently missing anything!

This week in KDE: Plasma 6 starts to take shape

While we hammer away at polishing up Plasma 5.27, features and user interface changes are starting to land for Plasma 6! We took a big bite out of the 15-minute bugs, too. Goodies for everyone!

New Features

System Settings’ Default Applications page now lets you choose your preferred application for a much wider variety of file types! (Méven Car, Plasma 6.0. Link):

System Settings main window showing "Default Applications" page with large list of URL protocols and file formats that you can choose your preferred app for, including "Web browser," "Email client," "Dialer," "Image viewer," "Music player," "Video player," "Text editor," PDF viewer," File manager," Terminal emulator," "Archive manager," and "Map"
You can still override these broad mappings with per-file-type mappings in the File Associations page, of course. And when you do so, those overrides will be displayed here!

Throughout Kirigami-based apps, standard list items with elided text now display a tooltip on hover showing the full text (Ivan Tkachenko, Frameworks 5.103. Link)

User Interface Improvements

Elisa now increments a song’s play count when it finishes playing, not when it starts (Frisco Smit, Elisa 23.04. Link)

The accent color picking UI has been condensed to it takes up less space, which opens up room for us to add other settings there in the future, such as day/night color scheme switching, which is in progress! (Tanbir Jishan, Plasma 6.0. Link):

System Settings main window showing Colors page with accent color choosing user interface that fits entirely on one row, with a combobox on the left showing "Custom accent color" and a row of dots beside it, with a purple dot selected

The OSD that appears when you switch audio devices now also shows the battery level of the new audio device you switched to (if that device has a battery and reports battery info, of course) (Kai Uwe Broulik, Plasma 6.0. Link):

OSD showing an image of a headset beside the text "My headset (70% battery)"

Framed views with rounded corners in QtQuick-based software no longer have tiny “korners”-style visual glitches in the corners (Ivan Tkachenko, Frameworks 5.103. Link):

Close-up view of a rounded corner in a framed scrollable view of a Qt-Quick-based user interface that shows perfect roundned both inside and outside the frame

Significant Bugfixes

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

Using a keyboard shortcut to close a window by dragging it around no longer causes it to leave a ghostly non-interactive shadow of itself hanging around (Marco Martin, Plasma 5.27. Link)

Upgrades of Flatpak runtimes with have a new version available are once again marked as such appropriately in Discover, rather than being listed as a “refresh” of the existing version (though that’s still possible too) (Aleix Pol Gonzalez, Plasma 5.27. Link)

Viewing System Settings’ Application Style page no longer sometimes causes the CPU usage to spike when certain 3rd-party application styles are installed (Fushan Wen, Plasma 6.0. Link)

Fixed two issues with Plasma panel widget pop-up placement that could cause popups to be inappropriately centered on their panels when using a multi-monitor setup or when the panel is not maximized to take up all available space on its screen edge (Niccolò Venerandi, Frameworks 5.103. Link)

Spectacle’s “Copy to clipboard right after taking a screenshot” feature once again works in the Plasma Wayland session (David Redondo, Frameworks 5.103. Link)

In QtQuick-based software, it’s no longer possible to drag things around in scrollable views that shouldn’t be draggable, like items in sidebars and lists (Marco Martin, Frameworks 5.103. Link)

Fixed a ton of little miscellaneous glitches with scrollbars in QtQuick-based software (Ivan Tkachenko, Frameworks 5.103. Link)

Other bug-related information of interest:

Automation & Systematization

Updated the included documentation for System Settings’ Global Themes, Colors, Cursors, Desktop Session, Plasma Search, Task Switcher, Screen Edges, General behavior pages! (Natalie Clarius, Plasma 5.27. Link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9)

Added documentation for Aurorae window decorations! (Natalie Clarius. 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

Please test the Plasma 5.27 beta! Bug reports filed against the beta version (5.26.90) get looked at and prioritized. It really helps. And of course, if you’re a developer, fixing those bugs is massively impactful too. 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 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!