Help fight the proprietary software monsters!

KDE’s yearly fundraiser is now live, with the theme of spooooky proprietary software. Go check it outno, really! It’s great!

I think this one absolutely nails it, because the stories there are relatable. They describe common problems with proprietary software most of us have personally experienced in our journeys to the FOSS world, and how FOSS fixes it.

Let me share some of mine:

  • When I was a kid, I liked to make movies with my friends and add wacky special effects using a program called AlamDV. I even bought a license to it! After a year, it broke and the developer released version 2, which I dutifully also bought a new license for. Unfortunately, none of my AlamDV 1 projects opened in it. They were lost to the wind.
  • Similarly, I also used Apple’s iMovie editing app. At a certain point, they changed it completely to have a totally different UI and no longer open old projects. Still a kid, I never managed to figure out the new UI and all my old projects were lost forever.
  • A lot of the digital art I made as a kid was saved in Apple’s .pict file format, which even they eventually dropped support for. When I moved to Linux, I had to write a script to open these files individually and take screenshots of them in order to not lose them forever.
  • I’ve been able to consistently recycle older computers and keep them relevant with Plasma. Both of my kids have perfectly serviceable hand-me-down computers revitalized with Fedora KDE. My wife’s old 10 year-old laptop is a testbed for KDE Linux.
  • My sister-in-law just last weekend was complaining to me about AI in Photoshop, and was very receptive to the idea of ditching Microsoft and Adobe software entirely. It’s a big turn-off to artists.

This stuff is real, and the work we do has significant impact. It’s not just a toy for nerds. It’s not a basement science project for bored tinkerers. It’s the way computers should be, and can be if enough of us donate our skills, time, and money towards the goal.

How will the fundraised money be used? Principally, to help KDE e.V. balance its budget and stop operating at a loss (about -110k last year, projected -70k this year) due to the legal requirement to spend down large lump-sum donations in a timely manner. We can sustain this level of deficit spending for a few more years, but of course would prefer not to. It’s been a tough environment for nonprofits, and you might have heard that the GNOME Foundation recently ran into financial trouble trouble had to cut back. We want to avoid that! The sooner we’re operating at a surplus again, the sooner we can expand our sponsorship of engineering work beyond its current level.

So go donate today, and make a difference in the most important movement in software today!

This week in Plasma: all screens, all the time

We continued fixing bugs and making UI improvements this week. You’ll notice a good many of them are about screens somehow! Ah, screens, the magical windows to our computers. They are amazing… and they suck. So many graphics driver bugs and hardware quirks to work around, so many edge cases to handle… and so that was a large part of what we spent doing for you, dear reader! Because getting all this screen stuff right has a massive impact on quality.

And of course there was a lot of other work too!

Notable UI Improvements

There’s a new behavior when dragging things out of a window that’s not the top one in the stacking order: the window with the dragged content remains where it is during the drag, instead of immediately jumping to the front (Xaver Hugl, Plasma 6.3.0. Link)

Kickoff, Kicker, and other launcher menus now have a “Help” category, and the Help Center app appears there instead of among other top-level categories (me: Nate Graham, Plasma 6.3 and KHelpCenter 24.12. Link 1, link 2, and link 3):

Added a touch-friendly UI for the clipboard widget that appears only when in touch mode (Fushan Wen, Plasma 6.3.0. Link)

Fixed a case where some system components’ default shortcuts all wanted to use Meta+0 and interfered with one another. Now they all use different shortcuts:

  • “Zoom to Actual Size” remains Meta+0
  • “Manually Invoke Action on Current Clipboard” and “Activate Task Manager Entry 10” no longer have a default shortcut set

(Zhangzhi Hu, Plasma 6.3.0. Link)

WireGuard VPNs are now considered VPNs by the Networks widget, and labeled and grouped accordingly (Ivan Tkachenko, Plasma 6.3.0. Link)

Multi-instance or multi-process Flatpak apps are now grouped together and shown as only one app on System Monitor’s Applications page (Arjen Hiemstra, Plasma 6.3.0. Link):

SDDM themes that are actually just symlinks to other themes are now filtered out of the relevant page in System Settings (Bruno Ivan, Plasma 6.3.0. Link)

Capped the maximum width of the Bluetooth file transfer error dialog so it can’t be ridiculously wide (Zhangzhi Hu, Plasma 6.3.0. Link)

Added Breeze icons for Typst files (MV Puccino, Frameworks 6.8. Link)

A bunch of symbolic Breeze icons that were inappropriately symbolic-but-colorful are now monochrome to better match all the other monochrome symbolic icons (me: Nate Graham, Frameworks 6.8. Link)

Notable Bug Fixes

Fixed a bug that could cause KWin to freeze when plugging in a Valve Index VR headset when there are no other screens enabled (Xaver Hugl, Plasma 6.2.2. Link)

Fixed a case where Plasma could crash when interacting with connected storage devices in certain ways (Fushan Wen, Plasma 6.2.2. Link)

Fixed a bug that would cause the positions of recently-renamed desktop files to not be saved to the config file correctly (Akseli Lahtinen, Plasma 6.2.2. Link). And on this subject, we’re currently deep into the process of fixing a related bug that causes icons to get scrambled when some (but not all) screens are turned off. Not for this week, but maybe next week!

Fixed a set of regressions that caused System Settings’ main window to not remember its size correctly (Akseli Lahtinen, Plasma 6.2.2 with Frameworks 6.8. Link)

Fixed a recent regression that made certain styles of user avatar image not get applied properly on System Settings’ Users page (Harald Sitter, Plasma 6.2.3. Link)

Spectacle no longer fails to save MP4-formatted screen recordings some of the time (Arjen Hiemstra, Plasma 6.2.3. Link)

You can now do a rectangular region screencast on any screen in a multi-screen setup, not just the left-most one (David Redondo, Plasma 6.2.3. Link)

The “Maximum time before updates” setting for grid-style System Monitor widgets now works (Arjen Hiemstra, Plasma 6.2.3. Link)

Worked around a quirk of certain HDR-capable screens screens that caused them to leave HDR move whenever any other display settings were changes (Xaver Hugl, Plasma 6.2.3. Link)

The “Forget all” menu item of Task Manager Task context menus now succeeds at forgetting abstract resources like URLs (Jin Liu, Plasma 6.2.3. Link)

Made it more reliable to save custom names given to audio devices (Harald Sitter, Plasma 6.2.3. Link)

Fixed a case where the ksystemstats background service that provides information to System Monitor and its widgets’ could crash due to a recent change in Qt (Arjen Hiemstra, Plasma 6.3.0. Link)

Fixed a case where Plasma and other KDE apps could crash when ejecting a CD (Nicolas Fella, Frameworks 6.8. Link)

When your user account is slightly misconfigured and does not define a templates directory, the “Create New” menu does no longer weirdly populates itself with the entire contents of your home folder (Benjamin Gonzalez, Frameworks 6.8. Link)

Fixed an issue that could cause the setting to govern notification sound level to not appear as expected (Harald Sitter, Pulseaudio-Qt 1.6.1. Link)

Fixed a bug that could cause the pointer’s target to get sort of stuck after dragging things until after the first click following the completion of the drag. This was commonly seen when re-arranging Task Manager entries: if you failed to click once after dragging an app, the next drag would target the preciously-dragged app instead of the one you wanted (David Edmundson, Qt 6.8.1. Link)

Other bug information of note:

Performance & Technical

Improved the reliability of the “remember for next time” feature in the screen recording source chooser window (David Redondo, Plasma 6.3. Link)

Reduces a source of slowness in the Task Manager widget when faced with windows that have hundreds or thousands of characters in their titles (Jin Liu, Plasma 6.2.3. Link)

The Night Light feature now tints the screen in a colorimetrically correct way when not using ICC profiles (Xaver Hugl, Plasma 6.3.0. Link)

It’s now possible to use Plasma scripting to change panels’ opacity levels or what screen they appear on (Heitor Augusto Lopes Nunes and Devin Lin, Plasma 6.3.0. Link 1 and link 2)

How You Can Help

If you’re a developer, keep on working to fix Plasma 6.2 regressions! We’ve got ’em on the run, and this is our chance to finish them off!

Otherwise, visit https://community.kde.org/Get_Involved to discover additional 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! Or consider donating instead! That helps too.

This week in Plasma: hardware is hard

At this point we’ve addressed most of the nasty regressions people found in Plasma 6.2. Thankfully most were not widespread, and were instead related to people’s diverse hardware setups. Most seem to have had smooth upgrades, but those whose hardware setups misbehaved with changes made in 6.2 were a focus for rapid response. These kinds of hardware-specific issues are really difficult to test for ahead of time, which is why we’re always asking for more beta testers! For folks whose hardware encountered problems, I expect things to be pretty good with Plasma 6.2.2, which’ll be released in a few days.

In the meantime, the floodgates have been opened for those not working on bug fixes to start landing their feature work for Plasma 6.3! Check it all out below:

Notable New Features

It’s now possible to customize the pressure curve for drawing tablet pens! (Joshua Goins, Plasma 6.3.0. Link):

Added a new page to Info Center that shows technical data extracted from your screens’ EDID blocks (Harald Sitter, Plasma 6.3.0. Link)

In Plasma’s Weather Report widget, added support for nighttime forecasts when using a weather station from the Deutscher Wetterdienst source (Wolfgang Müller, Plasma 6.3.0. Link)

Notable UI Improvements

If you manage to mess up your tablet calibration badly enough that it becomes impossible to use it to re-calibrate, System Settings’ drawing Tablet page will now reset the calibration when you click the “Default” button (Joshua Goins, Plasma 6.2.1. Link)

Plasma’s digital Clock widget now displays all events on days with more than five events, making it actually useful for that use case (Tino Lorenz, Plasma 6.3.0. Link)

Improved the way pop-ups using the “Sliding Popups” effect slide out of floating Plasma panels (Niccolò Venerandi, Plasma 6.3.0. Link):

Plasma’s Power and Battery widget now shows better placeholder text when you’re managing power using tlp instead of power-profiles-daemon, or when power-profiles-daemon is installed but not supported by the device’s firmware (Natalie Clarius, Plasma 6.3.0. Link)

It’s no longer possible to accidentally resize a Plasma widget’s pop-up from one of its edges that touches the edge of a screen or Plasma panel (Niccolò Venerandi, Plasma 6.3.0. Link)

The upload and download arrows in Plasma’s Networks widget now uses a different character that’s substantially more readable with many fonts (Tem PQD, Plasma 6.3.0. Link)

Notable Bug Fixes

Fixed a regression that could sometimes cause graphical corruption on external screens attached to certain NVIDIA GPUs (Xaver Hugl, Plasma 6.2.1. Link 1 and link 2)

Fixed a regression that caused Kickoff to unexpectedly open after you hold down the Shift key and press Alt, which may seem like it’s an unusual thing to do, but it can be common in certain video games and it’s quite disruptive in that context (Yifan Zhu, Plasma 6.2.1. Link)

Fixed a case where System Settings’ Wallpaper page could crash when previously configured in a way that’s now invalid (Fushan Wen, Plasma 6.2.1. Link)

Fixed a case where the tablet calibration overlay could appear on a monitor where it doesn’t make any sense (Joshua Goins, Plasma 6.2.1. Link)

Fixed three regressions accidentally introduced in Plasma 6.2.1 while fixing other bugs: one causing crashes on multi-GPU systems, the second making the splash screen take too long, and the final one making the cursor not change shape properly when hovering over links in certain apps (Xaver Hugl and David Edmundson, Plasma 6.2.1.1. Link 1, link 2, and link 2)

Fixed a performance regression affecting people using NVIDIA GPUs and the Night Light feature (Xaver Hugl, Plasma 6.2.1.1. Link)

Fixed a regression that caused HDR to stop working properly in games that request absurd brightness levels, like a billion nits of brightness (Xaver Hugl, Plasma 6.2.2. Link)

Fixed a regression that could cause the cursor to misbehave in certain video games (Xaver Hugl, Plasma 6.2.2. Link)

Fixed an issue that caused visual distortion in the clipboard widget’s config window when interacting with it in a very specific way (David Edmundson, Plasma 6.2.2. Link)

Fixed two visual issues in Breeze’s GTK 4 theming (Łukasz Patron, Plasma 6.3.0. Link 1 and link 2)

Fixed a minor issue with widgets on the Plasma desktop that would cause the cursor to inappropriately use the hand shape after dragging them and then later hovering over an edge (Niccolò Venerandi, Plasma 6.3.0. Link)

Some third-party apps handle files in a buggy way, and overwrite your file associations such that certain file types get configured to always open with the kde-open or xdg-open command-line tools. When they do this, the system no longer consumes all CPU and memory resources and crashes; instead opening the file simply doesn’t work (Akseli Lahtinen, Frameworks 6.8. Link)

Opening a “Get New [stuff]” dialog on any System Settings pages no longer sometimes causes the app to secretly stay open after you close it, which would prevent it from being re-opened again and make you want to throw the computer out the window (Harald Sitter, Frameworks 6.8. Link)

Category icons in Kickoff are now symbolic as intended when using the Breeze Dark icon theme. Also put in place some other changes to prevent this happening again in the future (David Redondo, Frameworks 6.8. Link 1 and link 2)

Other bug information of note:

Performance & Technical

Refined the tablet calibration feature so that it produces more accurate calibrations (Joshua Goins, Plasma 6.2.1. Link)

How You Can Help

If you’re a developer, keep on working to fix Plasma 6.2 regressions! We’ve got ’em on the run, and this is our chance to finish them off!

Otherwise, visit https://community.kde.org/Get_Involved to discover additional 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! Or consider donating instead! That helps too.

This week in Plasma: 6.2 has been released!

And I’d say it’s a pretty good release! As with all large sets of changes, there are a couple of regressions we’re tracking, particularly around the areas of external monitor brightness and multi-screen performance. They are being actively investigated. Other than those, so far all the issues have been fairly minor, requiring people to jump through various hoops to experience them. We’re still working on fixing them, of course! I’ll be writing up another post soon on these issues, discussing how they snuck into the final release, and what we can learn from the experience.

But in the meantime, here’s the Plasma team’s work from this week:

Notable UI Improvements

Removed some unintentional extra padding around everything on System Settings’ Touchpad page (me: Nate Graham, Plasma 6.2.1. Link):

Notable Bug Fixes

Fixed a regression in Plasma that caused pop-ups of widgets on a Plasma panel to get positioned partially off screen, but only if their parent panel was very small and positioned against on the left or top screen edge (Niccolò Venerandi, Plasma 6.2.1. Link)

Fixed a regression in the new “control all screens’ brightness” feature that caused the brightness slider for external screens to get duplicated with certain screens (Jakob Petsovits, Plasma 6.2.1. Link)

Fixed two minor window focus regressions caused by an intentional change in KWin’s multi-monitor focus behavior (Vlad Zahorodnii, Plasma 6.2.1. Link 1 and link 2)

Fixed a porting regression that caused the virtual desktop switcher OSD to not appear when it should have (Vlad Zahorodnii, Plasma 6.2.1. Link)

Fixed a porting regression that caused the first entry in the clipboard to temporarily not be removable after editing it (Fushan Wen, Plasma 6.2.1. Link)

Fixed a porting regression that caused auto-mounted encrypted disks to mount normally as expected, but not show up correctly in Plasma’s Disks & Devices widget (Bohdan Onofriichuk, Plasma 6.2.1. Link)

Fixed three Plasma crashes affecting the System Tray and Disks & Devices widget under various circumstances (Fushan Wen, Plasma 6.2.1. Link 1, link 2, and link 3)

Fixed a case where Plasma could crash in brightness-related code (Jakob Petsovits, Plasma 6.2.1. Link)

Fixed a bug in our KPipeWire library (which lives in Plasma) that caused screen recordings in Spectacle using the default VP9 video codec to be cut off at the end on slower systems (Arjen Hiemstra, Plasma 6.2.1. Link)

Fixed a bug that caused configuration pages of System Monitor widgets to not be scrollable when needed (Arjen Hiemstra, Plasma 6.2.1. Link)

Fixed an unusual bug that caused the system to fail to log out within the first 50 seconds after logging in, but only when the splash screen was disabled (David Edmundson, Plasma 6.2.1. Link 1 and link 2)

System Settings’ Wallpapers page now has a visible title as expected (Méven Car, Plasma 6.2.1. Link)

The Baloo file indexer service no longer tries to pointlessly index the content of .obj 3D model files (Someone going by the pseudonym “Archaeopteryx Lithographica”, Frameworks 6.8. Link)

Other bug information of note:

Performance & Technical

Further optimized Discover’s launch speed (Aleix Pol Gonzalez, Plasma 6.3.0 Link)

How You Can Help

If you’re a developer, work on fixing Plasma 6.2 regressions!

If you’re an enthusiastic user, don’t sweat them and upgrade anyway. It’s a fantastic release.

Otherwise, visit https://community.kde.org/Get_Involved to discover additional 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! Or consider donating instead! That helps too.

This week in Plasma: 6.2 is nigh

Plasma 6.2 will be released in just three days! In the end we did revert the notification changes I mentioned last week, so users of Plasma 6.2 won’t experience any new issues with notifications. The list of verified 6.2 regressions is extremely small, with most being low importance. We will of course eventually get them fixed anyway! But they aren’t release blockers.

Notable New Features

Distros can now customize the set of apps shown on Discover’s homepage in the “Editor’s Choice” section (Jarred Wilson, Plasma 6.3.0. Link)

Notable UI Improvements

We’ve returned to the older style of default audio device naming from Plasma 6.1, plus a few extra heuristics to hopefully make it even better when using PipeWire. And don’t worry, the new feature to rename devices remains present (Plasma 6.2.0. Link)

Discover now only shows the total size of available updates once it’s finished checking for them, so the number is always accurate and doesn’t bounce around (Soumyadeep Ghosh, Plasma 6.3.0. Link)

Notable Bug Fixes

Fixed the most common Plasma crash on X11, which was often encountered when waking up a sleeping monitor (Marco Martin, Plasma 6.2.0. Link)

Fixed a common case where KWin could crash when using Overview to search for stuff (Vlad Zahorodnii, Plasma 6.2.0. Link)

Fixed two a somewhat common seemingly random Plasma crashes (Fushan Wen, Plasma 6.2.0. Link 1 and link 2)

Fixed an issue that could, under certain circumstances, cause KWin to freeze when connecting or disconnecting an external monitor to a laptop (Xaver Hugl, Plasma 6.2.0. Link)

Fixed a bug that could cause System Monitor sensors configured with certain combinations of faces and sensors to become permanently invisible! (Arjen Hiemstra, Plasma 6.2.0. Link)

Improved the robustness of Plasma’s startup code, so that it doesn’t fail to launch when the kactivitymanagerd daemon is slow (David Edmundson, Plasma 6.2.0. Link)

Fixed an issue that could cause animations to get stuck on certain screens with the Adaptive Sync feature turned on (Xaver Hugl, Plasma 6.2.0. Link)

Removed the animations from Plasma’s Pager widget because they were too subtle to notice most of the time, and triggered a Qt bug that wrecks laptop battery life with auto-hidden panels. The Qt bug is under investigation, but at least now you should hit it less often (Vlad Zahorodnii, Plasma 6.2.0. Link)

Fixed one of the bugs that could cause icon positions on the desktop to get reset after monitors turned off and back on again. This may also fix a very common similar bug where positions get reset when the resolution changes; that’s still being verified. And of course there may be other bugs with positioning as well, but this was one of them and it’s fixed now! Others are under Investigation (Akseli Lahtinen, Plasma 6.2.0. Link)

Fixed KWin’s “Toggle Raise and Lower” functionality so that it does in fact lower the window again (Jarek Janik, Plasma 6.2.0. Link)

Fixed a regression that caused the title of any components using Kirigami.OverlaySheet to be vertically mis-positioned (Fushan Wen, Frameworks 6.7. Link)

Changing regional settings for your user is now more reliable in the case where your distro or its installer set the value of all of the LC_* properties at a systemwide level — as apparently happens on Ubuntu (Han Young, Plasma 6.2.0. Link)

Made sure that pointer acceleration in XWayland games with screen scaling is the same as in native Wayland apps (Xaver Hugl, Plasma 6.2.1. Link)

Other bug information of note:

How You Can Help

You know what? Have a rest. It’s not feasible to work all the time; breaks are important too. Everyone’s been working so hard on Plasma 6.2, and I think the results are going to be great. Make sure not to neglect your mental health! Rest when you need it. Were all humans with physical bodies.

Otherwise, visit https://community.kde.org/Get_Involved to discover additional 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! Or consider donating instead! That helps too.