This week in KDE: Discover and more

It was a big week for Discover, which received multiple UI improvements, performance enhancements, and bug fixes that you’ll find mentioned throughout the text!

There are more features and UI improvements to other components as well, plus a bunch of juicy bug fixes. I’m feeling like we’ve turned the corner on those bugs. No really significant Plasma bugs have been reported in the past week or two, just little ones that are easily squashed. Plasma is really feeling solid these days!

Notable New Features

You can now re-bind the buttons on drawing tablet pens to mouse clicks if you’d like, in addition to the existing feature to bind them to keyboard shortcuts. And the user interface for this is now much better and clearer (Joshua Goins, Plasma 6.2.0. Link):

There’s now an on-by-default sound that plays when you connect or disconnect a screen, to help you figure out whether it was connected successfully — just like we already do for USB devices (Kai Uwe Broulik, Plasma 6.2.0. Link)

Notable UI Improvements

Plasma’s Task Manager textual-list-style group popup now scales properly (Christoph Wolk, Plasma 6.1.4. Link)

Plasma’s Battery Monitor widget once again stays visible while plugged in and charging but not fully charged yet (me: Nate Graham, Plasma 6.2.0. Link)

Landed a minor redesign of Discover’s app page to better conform to the HIG, including the following changes:

  • Better and more consistent margins and padding
  • Better and more compact display of the content rating information
  • Use underlined links rather than buttons for opening web URLs
  • Replace internal separator lines with whitespace
  • Move display of distro-packaged apps’ permissions to the bottom

(me: Nate Graham, Plasma 6.2.0. Link 1, link 2, link 3, link 4):

The menu of clipboard items that appears when you press Meta+V now shares its UI with the Plasma Clipboard widget, offering maintenance benefits, a more consistent UI, and better visualization for long text and images (Fushan Wen, Plasma 6.2.0. Link):

In Welcome Center, the pages introducing Overview and Plasma Vaults now have beautiful, rich graphics depicting the features themselves, and like all the others, they respect your system’s active theme settings, too (Oliver Beard, Plasma 6.2.0. Link 1 and link 2):

The frequency with which Discover’s notifier System Tray icon appears now respects the “Notification frequency” setting that you can choose in System Settings, matching the frequency with which system notifications about updates appear (Thomas Duckworth, Plasma 6.2.0. Link)

When you tile a Breeze-themed window to the left or right screen edge, the window’s top-most pixels no longer allow the window to be resized by dragging, breaking Fitts’ Law for those pixels (Vlad Zahorodnii, Plasma 6.2.0. Link)

Plasma’s Activities widget now scales properly and no longer grows too large with a really thick panel (me: Nate Graham, Plasma 6.2.0. Link 1 and link 2)

System Settings’ Night Light page now prevents you from setting manual timings that cause the start and stop transitions to overlap, and shows this visually, too (Ismael Asensio, Plasma 6.2.0. Link)

Made the menu button on System Settings’ Autostart page conform to the HIG (Christoph Wolk, Plasma 6.2.0. Link)

Made the list-remove Breeze icon look like a red X, same as edit-delete-remove. This helps to standardize on the red X symbolism for “remove this abstract thing” that the HIG recommends (me: Nate Graham, Frameworks 6.5. Link):

Notable Bug Fixes

Fixed a somewhat common way that Powerdevil could crash after the system went to sleep due to inactivity (Jakob Petsovits, Plasma 6.1.4. Link)

When Flatpak/sandboxed/portal-using apps request inhibiting sleep, it now actually works! (Jakob Petsovits, Plasma 6.1.4. Link)

When you move a Plasma panel to another screen edge, its widgets no longer inappropriately become interactive until you leave Edit Mode (Marco Martin, Plasma 6.1.4. Link)

Fixed two issues with Plasma’s “Centered” and “Scaled and cropped” wallpaper positioning modes that caused images of certain sizes to be displayed incorrectly with certain screen scales (Marco Martin, Plasma 6.1.4. Link 1 and link 2)

Fixed three Plasma 6 porting regressions in Folder View that caused the widget representation to lose its custom title feature, caused existing labels to remain visible while renaming, and made it impossible to select other items with the keyboard after renaming something (Marco Martin and me: Nate Graham, Plasma 6.1.4. Link 1, link 2, and link 3)

Discover no longer cuts off the first letter of the name of non-SPDX-compatible licenses when it displays them on the app page (me: Nate Graham, Plasma 6.1.4. Link)

When Alt+Tabbing through windows, tab keystrokes no longer leak into XWayland-using apps when using default XWayland app keyboard snooping setting (David Edmundson, Plasma 6.2.0. Link)

Maximized XWayland-using apps no longer leave pixel gaps on the side of the screen with certain fractional scale factors (Xaver Hugl, Plasma 6.2.0. Link)

Fixed a Qt bug that caused many Plasma crashes while performing a variety of everyday activities with multiple screens are connected (David Edmundson, Qt 6.7.4 and 6.8.0. Link)

Other bug information of note:

Notable in Performance & Technical

Made the icon loading code in Discover non-blocking, which speeds up launch time and improves scrolling smoothness (Harald Sitter, Plasma 6.2.0. Link)

The “Ring system bell when modifier keys are used” and “Ring system bell when locking keys are toggled” Sticky Keys features are now implemented on Wayland. This completes the project to gain full Sticky Keys support! (Nicolas Fella, Plasma 6.2.0. Link 1, link 2, and link 3)

KWin no longer chooses an inappropriate default scale factor for really wacky screens that mis-report their physical dimensions badly enough that they say they’re between zero and three millimeters wide or tall (me: Nate Graham, Plasma 6.2.0. Link)

On Wayland, apps that intentionally suppress cursor launch feedback now have more correct activation behaviors (Nicolas Fella, Frameworks 6.5. Link)

Notable in Automation & Systematization

Added an “All bugs reported by me” link to the homepage on https://bugs.kde.org, so now you can truly see all of your bug reports, not just the open ones (me: Nate Graham, link)

Shortened the messages sent by the bug janitor warning that bugs will be auto-closed soon (Oliver Beard, link)

Adjusted the new bug template to be more accurate about how you fill in version numbers, including recommending using the kinfo command-line tool (me: Nate Graham, 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 use have multiple systems or an adventurous personality, you can really help us out by installing beta versions of Plasma using your distro’s available repos and reporting bugs. Arch, Fedora, and openSUSE Tumbleweed are examples of great distros for this purpose. So please please do try out Plasma beta versions. It truly does help us! Heck, if you’re very adventurous, live on the nightly repos. I’ve been doing this full-time for 5 years with my sole computer and it’s surprisingly stable.

Does that sound too scary? Consider donating today instead! That helps too.

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!

This week in KDE: features and UI polish

After last week’s bug-squash-a-thon, this week there was more focus on features and user interface improvements — some of them HIG-driven, as I wrote about yesterday. But we kept the bugs down too! Everything is proceeding nicely, I think.

Notable New Features

Konsole has gained a feature to automatically save all output in a terminal view to a file in real-time (Theodore Wang, Konsole 24.12.0. Link):

Distros can now customize the default set of favorite apps shared across Kickoff, Kicker, and Application Dashboard (Harald Sitter, Plasma 6.2.0. Link)

Info Center has a new page showing technical memory information (Thomas Duckworth, Plasma 6.2.0. Link):

Notable UI Improvements

When KWin is asked to open a window whose minimum height is still taller than the screen, it no longer places it with the titlebar cut off on top, which would make it impossible to move without knowing about the Meta+drag feature. Instead, KWin will ensure the titlebar is visible and instead position the window so only content at the bottom is cut off (Xaver Hugl, Plasma 6.1.4. Link)

Refined how KRunner matches text to System Settings pages, so it will be less aggressive about showing them to you for search text with a very weak match (Fabian Vogt, Plasma 6.1.4. Link)

Plasma’s Digital Clock now requests “tabular numerals” just in case the active font has this feature as an optional but off-by-default thing. This ensures that all number characters are fixed-width so that the time display doesn’t jump around throughout the day (Calum Smith, Plasma 6.2.0. Link)

System Settings’ Drawing Tablet page now tells you when your tablet doesn’t support changing its orientation, so you don’t think it’s our fault (Joshua Goins, Plasma 6.2.0. Link)

Did a round of UI polishing for System Settings’ KWin Rules page, which also fixed a bug related to weird scrolling behavior (Ismael Asensio, Plasma 6.2.0. Link)

The animation speed of the Plasma logout screen’s fade-to-black effect now instantly reacts to changes in the global animation speed, and the technical change to make this happen also happened to fix a performance issue with the animation as well (David Edmundson, Plasma 6.2.0. Link 1 and link 2)

Improved the accessibility of the ContextualHelpButton and KeySequenceItem library components, as well as multiple controls on System Settings’ Shortcuts page (Christoph Wolk, Frameworks 6.5 and Plasma 6.2.0. Link 1, link 2, and link 3)

In the the Places panels visible in Dolphin, the open/save dialogs, and many other places, items now show tooltips with relevant information when hovered. This feature is enabled only when built with Qt 6.8, as 6.7 and earlier suffer from a bug that makes it not work properly (Kai Uwe Broulik, Frameworks 6.5. Link)

Notable Bug Fixes

Discover no longer crashes on distros built with asserts turned on (such as Neon) when run using a language where the categories have been mis-translated and overlap one another (Harald Sitter, Plasma 6.1.4. Link)

After changing the current systemwide time zone in System Settings and quitting the app, it now quits properly, no longer staying secretly open in the background as a zombie and preventing you from opening it again (Nicolas Fella, Plasma 6.1.4. Link)

Dragging screenshots and other files from Plasma notifications into Chromium-based apps (Chrome, Discord, etc) now works as expected (David Edmundson, Plasma 6.1.4. Link)

Fixed a bug in the free space notifier that would cause it to flag nearly-full partitions that are read-only, such as on immutable OS style distros like Fedora Kinoite (Timothée Ravier, Plasma 6.1.4. Link)

Found and fixed the source of the issue that made KWin’s new triple buffering feature sometimes cause stuttering instead of the expected butter-smooth animations (Xaver Hugl, Plasma 6.1.4. Link)

Fixed a recent regression that caused multi-row Task Manager widgets to take up too much space on Plasma panels using the “Fit to content” size mode (Ismael Asensio, Plasma 6.1.4. Link)

Fixed an issue in KWin that caused native Wayland apps to receive incorrect information about the order in which modifier keys were pressed (David Edmundson, Plasma 6.2.0. Link)

The “Click in track to scroll by one page at a time” feature — which broke in Frameworks 6.0 due to changes in Qt — now works again (Ivan Tkachenko, Frameworks 6.5. Link)

Other bug information of note:

Notable in Performance & Technical

The “Disable when two keys are held down” sticky keys feature now works on Wayland (Nicolas Fella, Plasma 6.2.0. Link)

Discover now natively supports package installation and updating for PostmarketOS (Alexey Min and Devin Lin, Plasma 6.2.0. Link)

Prompted by a review from the SUSE security team, we implemented some security hardening that allows KAuth to use file descriptors rather than file paths, and implemented support for this on System Settings’ Login Screen page (Athul Raj Kollareth, Frameworks 6.5 and Plasma 6.2.0. Link 1 and link 2)

Fixed the source of the findInCache with a lastModified timestamp of 0 is deprecated log spam, especially on immutable OS style distros like Fedora Kinoite (Timothée Ravier, Frameworks 6.5. Link)

Notable in Automation & Systematization

In Elisa, added a test for restarting the file indexer, fixed a perpetually broken test, and turned on the “tests must pass” feature to ensure that tests don’t break again in the future (Jack Hill, 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 use have multiple systems or an adventurous personality, you can really help us out by installing beta versions of Plasma using your distro’s available repos and reporting bugs. Arch, Fedora, and openSUSE Tumbleweed are examples of great distros for this purpose. So please please do try out Plasma beta versions. It truly does help us! Heck, if you’re very adventurous, live on the nightly repos. I’ve been doing this full-time for 5 years with my sole computer and it’s surprisingly stable.

Does that sound too scary? Consider donating today instead! That helps too.

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!

These past two weeks in KDE: fixing sticky keys and the worst crashes

These past two weeks were big for Wayland accessibility support, as Nicolas Fella did a lot of work to improve support for sticky keys to equal the state they were in on X11. This work is not complete, but so far it’s taken a big bite out of the open issues! The work lands in a mixture of Plasma 6.1.3 and 6.2.0 (link 1, link 2, link 3, link 4, link 5, link 6).

Beyond this, it’s notable that Plasma developers fixed the five most common Plasma crashes, as well as a bunch of less common ones, which you’ll see mentioned below. These were caused by a mix of Qt regressions and our own code defects. The new automatic crash reporting system has been a huge boon here, allowing us to see which crashes are actually affecting people most. So please do continue to report them!

And of course there’s lots more too. Check it out:

New Features

Elisa now offers a feature to add a track, album, etc. directly to the playlist after current song, playing it next (Jack Hill, Elisa 24.08.0. Link):

System Settings’ Drawing Tablet page now has a calibration tool (Joshua Goins, Plasma 6.2.0. Link)

The default width of Icons-and-Text Task Manager items is now user- configurable, and should also exhibit slightly smarter shrinking behavior as space gets filled up (Kisaragi Hiu, Plasma 6.2.0. Link)

Added support for Plasma’s charging threshold feature to OpenBSD (Rafael Sadowski, Plasma 6.2.0. Link)

UI Improvements

Dolphin now features a lovely super premium user experience for installing Filelight if it’s not already installed (Felix Ernst, Dolphin 24.08.0. Link):

Filelight now has a more illuminating and welcoming homepage (me: Nate Graham, Filelight 24.08.0. Link):

Spectacle has now adopted the “inline messages touch the header” paradigm (me: Nate Graham, Spectacle 24.08.0. Link):

System Settings’ Night Light page now accepts creative custom times, no longer internally clamping them to a set of acceptable times (Vlad Zahorodnii, Plasma 6.1.3. Link)

Improved the smoothness of resizing Plasma widgets (Vlad Zahorodnii, Plasma 6.1.4. Link)

Made it impossible to remove administrator privileges from your current user unless there’s at least one other admin user on the system, to ensure that someone is an admin and can reverse the decision if needed! (Thomas Duckworth, Plasma 6.2.0. Link)

The “launch this app” shortcut for apps on System Settings’ Shortcuts page is now named “Launch”, making its purpose clear (me: Nate Graham, Plasma 6.2.0. Link)

Added some relevant clipboard-related keywords to System Settings’ General Behavior page, so you can find it in a search for things like “paste” and “selection” and stuff like that (Christoph Wolk, Plasma 6.2.0. Link)

Plasma’s Digital Clock widget now uses a typographic space to separate the time from the date when in single-row mode, so that it looks better especially when using a monospace font (Kisaragi Hiu, Plasma 6.2.0. Link)

Removed the filter for different job types from Plasma’s Printers widget, because it never worked (seriously) and apparently no one ever noticed because we didn’t even have any bug reports about it! (Mike Noe, Plasma 6.2.0. Link)

Bug Fixes

Filelight no longer fails to initiate a second scan after leaving the first one and going back to the Overview page (Harald Sitter, Filelight 24.08.0. Link)

Fixed one of the most common ways that Plasma could crash randomly, out of the blue (Akseli Lahtinen, Plasma 6.1.3. Link)

Fixed one of the most common ways that Plasma could crash on Wayland when a screen turns off (Marco Martin, Plasma 6.1.3. Link)

Fixed another one of the apparently many ways that Plasma can crash while handling various types of clipboard data, which appeared to be very common (David Edmundson, Plasma 6.1.3. Link)

Fixed a somewhat common way that Powerdevil could crash when waking the system from sleep with certain types of monitors (Jakob Petsovits, Plasma 6.1.3. Link)

Fixed an issue that caused Spectacle to crash after finishing a screen recording on systems using PipeWire 1.2.0 (Arjen Hiemstra, Plasma 6.1.3. Link)

Fixed an issue that caused Plasma on Wayland to crash when dragging a Task Manager task with no .desktop file associated with it (such as a Steam game) onto the desktop (Akseli Lahtinen, Plasma 6.1.3. Link)

Fixed a recent regression that caused System Tray icons for GTK2 apps to stop responding after the first time they’re clicked. Added an autotest to make sure this doesn’t regress again, too (David Edmundson and Fushan Wen, Plasma 6.1.3. Link)

It’s now possible to set your user avatar image to a file those full path contains “special characters” like spaces, ampersands, etc. (Daniil-Viktor Ratkin, Plasma 6.1.3. Link)

It’s now more reliable to change the date or time using System Settings on a distro not using Systemd (Fabio Bas, Plasma 6.1.3. Link)

Plasma’s RDP server now works properly after again a prior failed connection using a non-H.264-capable client app (Arjen Hiemstra, Plasma 6.1.3. Link)

The Fcitx input method’s “show input method info when switching input focus” setting is now compatible with Plasma’s zoom-out style edit mode, and no longer causes it to exit immediately when the input method popup is shown (Weng Xuetian, Plasma 6.1.3. Link)

Fixed a different somewhat common out-of-the-blue Plasma crash (Méven Car, Plasma 6.1.4. Link)

Fixed a case where KWin could crash on X11 when compositing gets toggled on or off (Vlad Zahorodnii, Plasma 6.1.4. Link)

Fixed a regression in Discover that caused various alerts and information items in certain apps’ description pages to not appear as expected (Aleix Pol Gonzalez, Plasma 6.1.4. Link)

Fixed a regression in Plasma 6.0 that caused the “remove this item” hover icons in KRunner’s history view to be invisible (Ivan Tkachenko, Plasma 6.1.4. Link)

OpenVPN VPNs requiring a challenge-response work again with NetworkManager 1.64 or later (Benjamin Robin, Plasma 6.2.0. Link)

“Text Only” System Monitor sensors on horizontal Plasma panels are once again correctly-sized with centered text (Arjen Hiemstra, Plasma 6.2.0. Link)

“Line Chart” System Monitor sensors now show their legends as expected when placed on a wide vertical Plasma panel (Arjen Hiemstra, Plasma 6.2.0. Link)

When using Plasma’s “Raise maximum volume” setting, it now applies to the per-app volume sliders in the System Tray popup as well as the device volume sliders (Roberto Chamorro, Plasma 6.2.0. Link)

Fixed the source of bizarre view corruption in Dolphin introduced in the recently-released Frameworks 6.4 (Vlad Zahorodnii, Frameworks 6.4.1. Link)

Fixed a case where Plasma could crash when trying to re-assign a shortcut for a widget to one already used by something else (Arjen Hiemstra, Frameworks 6.5. Link)

On the “Get New [thing]” dialogs, downloading one file from an entry that includes many now works from the details page (Akseli Lahtinen, Frameworks 6.5. Link)

Fixed another fairly common way that Plasma could crash on Wayland when a screen turns off (David Edmundson, Qt 6.7.3. Link)

Fixed yet another common way that Plasma could crash on Wayland, this time when showing notifications (David Edmundson, Qt 6.7.3. Link)

Fixed a case where Plasma could crash when you trigger the Meta+V keyboard shortcut to open the clipboard history menu over and over again in rapid succession (Vlad Zahorodnii, Qt 6.7.3. Link)

Fixed a case where trying to save a file in a Flatpak or Snap app using the standard Save dialog could fail and cause the saving app to quit instead! (Nicolas Fella, Qt 6.7.3. Link)

Other bug information of note:

Performance & Technical

Receiving a Plasma notification no longer blocks KWin’s “direct scan-out” feature, e.g. while playing a game, so it should no longer briefly reduce performance (Xaver Hugl, Plasma 6.1.3. Link)

Improved KWin’s detection for whether triple buffering on Wayland will improve things so that it won’t occasionally turn on and off repeatedly, impairing performance (Xaver Hugl, Plasma 6.1.3. Link)

Plasma’s RDP server is now capable of listening for IPv6 connections (Arjen Hiemstra, Plasma 6.1.3. Link)

KWin now disables 10 bits-per-color (BPC) support for monitors plugged into a dock, as these often limit the signal to 8 BPC but don’t tell KWin, causing issues when KWin tries to enable 10 BPC mode because it thinks it should be possible (Xaver Hugl, Plasma 6.1.4. Link)

KWin now operates with “realtime” capabilities on systems using musl instead of glibc (Vlad Zahorodnii, Plasma 6.1.4. Link)

Plasma’s RDP server now also works as expected on systems using the OpenH264 video codec (Fabian Vogt, Plasma 6.2.0. Link)

Relevant only for cutting-edge distro-builders: It’s now possible to compile KWin with support for only the Wayland session, so support for X11 apps would be provided exclusively through XWayland (Neal Gompa, Plasma 6.2.0. Link)

Improved performance for everything in KDE that uses KFileItem::isHidden (Volker Krause, Frameworks 6.5. Link)

Created a new WindowStateSaver QML object you can add to apps’ windows to make them remember their size, maximization state (and position, on X11) (Joshua Goins, Frameworks 6.5. Link)

Apps storing their transient state data separately from their persistent configuration data now do so by putting the state config file in the standard XDG state folder of ~/.local/state/ (Harald Sitter, Frameworks 6.5. Link)

Automation & Systematization

Added an autotest to test clearing the clipboard history (Fushan Wen, link)

…And Everything Else

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

How You Can Help

If you use have multiple systems or an adventurous personality, you can really help us out by installing beta versions of Plasma using your distro’s available repos and reporting bugs. Arch, Fedora, and openSUSE Tumbleweed are examples of great distros for this purpose. So please please do try out Plasma beta versions. It truly does help us! Heck, if you’re very adventurous, live on the nightly repos. I’ve been doing this full-time for 5 years with my sole computer and it’s surprisingly stable.

Does that sound too scary? Consider donating today instead! That helps too.

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!

How I manage my KDE email

Every once in a while people ask me about my email routine, so I thought I’d write about it here.

Everything I do starts with the philosophy that work and project email is a task queue. Therefore an email is a to-do list item someone else has assigned to me.

Ugh, how horrible! Better get that stuff done or rejected as soon as possible so I can move on to the stuff I want to do.

This means my target is inbox zero; achieving it means I got all my tasks done. Like everyone, I don’t always achieve it, but zero is the goal. How do I work towards it?

#0: Separate KDE and non-KDE emails

When I’m not in KDE mode, I want to be able to turn that stuff off in my own brain. To accomplish this, I have a home email account and a KDE email account. I adjust all my KDE accounts to only send email to my KDE address.

#1: Use an email client app

To manage multiple email accounts without going insane, I avoid webmail. In addition to not supporting multi-account workflows, it’s usually slow, lacking useful features, and has poor keyboard navigation.

I currently use Thunderbird, but I’m investigating moving to KDE’s KMail. Regardless, it has to be a desktop email client that offers mail rules.

#2: Automatic categorization (0 minutes)

I configure my email client with mail rules to automatically tag emails with colored labels according to what they are, and then mark them as read:

This results in almost all newly-arrived emails becoming colored and marked as read:

When I get a new kind of automated email that didn’t automatically receive a color label, I adjust the rules to match that new email so it gets categorized in the future, too.

#3: Manual categorization (1-3 minutes)

When I first open my email client in the morning, everything will be categorized except 5-15 emails sent by actual people. To see just these, I’ll filter the inbox by unread status, since all the auto-categorized colored emails got automatically marked as read.

Then it’s time to figure out what to do with them. For anything that needs a response or action today, I mark it as urgent by hitting the “1” key. For anything that needs a personal response in the next few days, I hit “9” to tag it as personal and it becomes green. And so on.

Any emails that don’t need a response get immediately deleted. I never miss them. It’s fast and painless. Put those emails out of their misery.

#4: Action all the urgent emails (5-15 minutes)

Urgent means urgent; first I’ll go through these one at a time, and action them somehow. This means one of the following:

  1. If it’s from a person, write a reply and then delete the email.
  2. If it’s from an automated system, open the link to the thing it’s about in a web browser and then delete the email.

The email always ends up deleted! For people like us emails are not historical records, they’re tasks. Do you need to remember what tasks you performed 8 years ago on Tuesday, May 11th? Of course not. Don’t be a digital hoarder; delete your emails. You won’t miss them.

At this point I may realize that I was overzealous in tagging something as urgent. That’s fine; I just re-tag it as something else, and then I’ll get to it later.

#5: Action all the merge request emails (5-10 minutes)

Since my day job is “quality assurance manager”, these are important. I’ll go through every automated email from invent.kde.org about merge requests for repos I’m subscribed to and action them somehow:

  1. Open the link to the merge request in my web browser, and then delete the email.
  2. Decide I don’t need to review this particular merge request, and just delete the email.

More deletion! I never keep these emails around; they’re temporal notifications of other people’s work. Nothing worth preserving.

#6: Action all the bug report emails (5-15 minutes)

My web browser is now filled up with tabs for merge requests to review. Now it’s time to do that for relevant bug reports. I follow the same process here: open the bug report in my web browser because it needs a comment or other action from me, and then delete the email — or else immediately delete the email because it’s not directly actionable. Delete, delete, delete. It’s the happiest word when it comes to email. Everyone hates emails; delete them! Show them you mean business.

#7: Do actual work

At this point I’ve spent between 15 and 40 minutes just on email, ugh. Time to do some actual work! So now I’ll spend the next several hours going through those tabs in my web browser, from left to right. First reviewing merge requests, then handling the relevant bug reports (closing, re-opening, replying to comments, changing metadata, marking as duplicate, CCing others, etc). During this step, I’ll also triage the day’s new bug reports.

Sometimes I’ll check email again while doing these, since more will be coming in. It’s easy to delete or action them individually.

After all these tabs are closed, hooray! I have some time to be proactive instead of reactive! Usually this amounts to 0-120 minutes a day during working hours. I try to spend this time on fixing small bugs I found throughout the day, opening and participating in discussion topics about important matters, working on the KDE HIG, and sometimes helping people out on http://www.discuss.kde.org or http://www.reddit.com/r/KDE.

#8: Action all the rest of the emails (10-25 minutes)

Towards the end of the day I’ll look at the emails marked as “Personal” and “KDE e.V./Akademy” and try to knock a few out. It’s okay if I’m too tired; these aren’t urgent and can wait until tomorrow. After a few days of sitting there, I’ll mark them as urgent.


And that’s pretty much it! This is just my workflow; it doesn’t need to be yours. But in case you want to try it, here are answers to some anticipated objections:

Ugh, that sounds like it takes forever!

It really doesn’t.

On a Monday maybe it takes more like 35 or 40 minutes since there are emails from the weekend to process. But on Tuesday through Friday, it’s closer to 15-20 minutes. Often 10 on Friday. Thanks to the automatic categorization, all of this is much faster than manually looking at every email one by one, and much more effective than getting depressed by hundreds of unread emails in the morning and ignoring them.

Deleting emails is too scary, what if I need them in the future?

You won’t.

But if that’s too scary or painful, set up your email account or client app to archive “deleted” messages in permanent storage rather than truly deleting them. Just keep in mind that you’ll eventually run out of storage space and have to deal with that problem in the future. Once it happens, consider it an opportunity to reconsider, asking yourself how many emails you actually did need to dig out of cold storage. I’m guessing the number will be very low, maybe even 0.

This might work for your workflow, but I get different types of emails!

Maybe so, but the general principle of automatically tagging (but not moving) emails applies to anyone. I firmly believe that anyone can benefit from this part. Make the software do the grunt work for you!

What do I do about all of those the old emails in my inbox? There are too many, I’ll never get through them!

If you’re one of those people who has 50,000 emails in your inbox, select all and delete. You won’t miss any of them.

Seriously. All of them. Every single one. Right now. Just do it.

How do I know this is fine?

  • Old notifications about things like bug reports or merge requests are worthless because they already happened. Delete.
  • Old mailing list conversations long since dried up or got actioned without your input. Delete.
  • Old at-the-time urgent emails from important people are no longer relevant, because the people who sent them long ago concluded that you’re unreliable and decided to not contact you again. Because that’s what happens when you let emails pile up: you’re being rude to all the people whose messages you’ve ignored. Feel sad, resolve to do better, then delete.

The good news is that you can get better at this anytime, but it’s almost impossible without making a clean break with a messy past. You’ll be looking at old stuff forever and won’t have time for new stuff.

I just get too much email, it’s impossible to keep up no matter what I do!

You need to unsubscribe from some things. Maybe a lot of things. Longtime contributors to any project will have accumulated years worth of subscriptions to sources of emails that are no longer relevant. Prune them!

This may trigger Fear Of Missing Out. Recognize that and fight against it. You can almost always reduce your email load by unsubscribing from this stuff:

  • Activity in Git repos for projects you no longer contribute to.
  • Bug reports for products you aren’t involved in or responsible for anymore.
  • Medium to high traffic mailing lists that are mostly or entirely irrelevant to your present interests and activities.
  • Almost all the spam from LinkedIn.
  • All the spam from online stores, newspapers, political campaigns. The “unsubscribe” button will work, don’t give up!

Resist the temptation to filter these emails into folders that you tell yourself you’ll remember to look at once in a while. You probably won’t, and by the time you do, everything in them won’t be actionable anymore — if it ever was in the first place. Unsubscribe and delete!

This week in KDE: autoscrolling

New Features

You can now turn on the “autoscrolling” feature of the Libinput driver, which lets you scroll on any scrollable view by holding down the middle button of your mouse and moving the whole mouse (Evgeniy Chesnokov, Plasma 6.2.0. Link)

UI Improvements

When zooming into or out of a document in Okular using Ctrl+Scroll, it now zooms into or out of the actual cursor position, not the center of the page (Alexis Murzeau, Okular 24.08.0. Link)

Okular now scales radio buttons and checkboxes to the size of the form fields they inhabit, which looks better for forms that have huge or tiny versions of these (Pratham Gandhi, Okular 24.08.0. Link)

Dolphin now supports the systemwide “disable smooth scrolling” setting (Nathan Misner, Dolphin 24.08.0 Link)

Opening and closing Elisa’s playlist panel is no longer somewhat choppy (Jack Hill, Elisa 24.08. Link)

When quick-tiling two adjacent windows and resizing one, the other will resize too. The location of the split between them is now reset to its default position after all adjacent quick-tiled windows are closed or un-tiled (Erwin Saumweber, Plasma 6.1.2. Link)

.Desktop files in sub-folders below your desktop are now shown as they are on the desktop itself (Alexander Wilms, Plasma 6.2.0. Link)

On System Settings’ Accessibility page, the Open dialog for choosing custom bell sounds now accepts .oga files, and also tells you what types of files it supports (me: Nate Graham, Plasma 6.2.0. Link)

On System Settings Desktop Effects page, “internal” effects are no longer listed at all (even in a hidden-by-default state), which makes it more difficult for people to break their systems by accident, and also fixes an odd interaction whereby clicking the “Defaults” button would reset the default settings of internal effects changed elsewhere. You can still see the internal effects in KWin’s debug console window if needed (Vlad Zahorodnii, Plasma 6.2.0. Link)

Made a bunch of small changes to System Settings pages to align them better with the new human interface guidelines (me: Nate Graham, Plasma 6.2.0. Link 1, link 2, link 3, and link 4)

Improved the legibility of the text in Kirigami.NavigationTabBar buttons, especially on low or medium DPI screens (me: Nate Graham, Frameworks 6.4. Link)

Bug Fixes

Fixed a recent regression that caused the Powerdevil power management daemon to sometimes crash randomly when the system has any monitors connected that support DDC-based brightness control (Jakob Petsovits, Plasma 6.1.2. Link)

On the System Settings’ recently re-done Keyboard page, table columns in the layout table are once again resizable, and also have more sensible default widths now (Wind He, Plasma 6.1.2. Link)

Fixed one source of the recent issue with certain System Settings pages being sometimes broken when opened — this one being the issue where opening the Touchpad or Networks pages would break other ones opened afterwards. We’re still investigating the other issues, which frankly make no sense and shouldn’t be happening. Some of them may be Qt regressions. Investigation is ongoing (Marco Martin, Plasma 6.1.3. Link)

Icons in the new Edit Mode’s toolbar buttons are no longer slightly blurry (Akseli Lahtinen, Plasma 6.1.3. Link)

KWin’s “open new windows under pointer” feature now actually does, and ignores the active screen when that screen differs from the screen with the pointer on it (Xaver Hugl, Plasma 6.1.3. Link)

Fixed multiple recent regressions and longstanding issues with System Monitor widgets displayed on panels (Arjen Hiemstra, Plasma 6.2.0):

  • Text in small pie charts overflowing onto the next line awkwardly (link)
  • Adjacent pie charts overlapping at certain panel thicknesses (link)
  • Graphs not taking enough space on a thick panel (link)

With wide color gamut turned on or an ICC color profile in use, transparent windows are no longer too transparent (Xaver Hugl, Plasma 6.2.0. Link)

Showing and hiding titlebars and frames on a scaled display no longer causes XWayland windows to move diagonally by about 1px every time (Vlad Zahorodnii, Plasma 6.2.0. Link)

Fixed multiple issues and glitches affecting floating panels via a significant code refactor (Marco Martin, Plasma 6.2.0. Link 1, link 2, and link 3)

Fixed a recent Qt regression that caused Plasma to sometimes crash when screens were disconnected (David Edmundson, Qt 6.7.3. Link 1 and link 2)

Fixed a Qt regression that caused web pages rendered by QtWebEngine (most notably in KMail’s HTML message viewer window) to display have blocky, blurry, or pixelated text and graphics (David Edmundson, Qt 6.8.0. Link)

Other bug information of note:

Performance & Technical

Made the pam_kwallet library able to build with libgcrypt 1.11, restoring its ability to let the system wallet unlock automatically on login again (Daniel Exner, Plasma 6.1.2. Link)

Automation & Systematization

Added some UI tests to KCalc, ensuring that the recent prominent regression in functionality can’t happen again (Gabriel Barrantes, 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

As I mentioned last week, if you use have multiple systems or an adventurous personality, you can really help us out by installing beta versions of Plasma using your distro’s available repos and reporting bugs. Arch, Fedora, and openSUSE Tumbleweed are examples of great distros for this purpose. So please please do try out Plasma beta versions. It truly does help us! Heck, if you’re very adventurous, live on the nightly repos. I’ve been doing this full-time for 5 years with my sole computer and it’s surprisingly stable.

Does that sound too scary? Consider donating today instead! That helps too.

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!

This week in KDE: everything, I think

We spent an enormous amount of time working on bug-fixing and polishing tasks for Plasma 6.1 this week. It was a big release, and there were some rough edges around the new edit mode. So we put quite a bit of time into making it integrate more seamlessly with the other existing modes, and generally polishing it up. Other areas of focus included panels and the system tray, especially when using non-default settings. We made a lot of big changes under the hood for Plasma 6.1 that had some negative consequences, so we’re working to fix things as quickly as we can.

As part of this initiative, we’ve driven the number of high priority Plasma bugs to a new record low: 29! This is the first time it’s ever dipped below 30, which I find very exciting! We’re really getting there.

After bug-fixing, we started working on user interface polish for Plasma 6.2. At this point new features are mostly still cooking, but a lot of subtle improvements have already started to land — complete with screenshots below!

New Features

Plasma now supports Enhanced Open (OWE) Wi-Fi security (Fabian Vogt, Plasma 6.2.0. Link)

In KWin’s new (off-by-default) “Hide Cursor” effect, you can now turn off hiding it after inactivity, and only hide it while typing (Vlad Zahorodnii, Plasma 6.2.0. Link)

UI Improvements

Okular now provides you more information about the validity of a document’s cryptographic signatures (Sune Vuorela, Okular 24.08.0. Link)

When shaking the cursor to expand it, it’s now nice and crisp when using one of the default Breeze cursor themes. Note that It’ll still be pixelated when using a 3rd-party cursor theme until we can implement general support for SVG cursor theming and encourage 3rd-party theme artists to use it (Vlad Zahorodnii, Plasma 6.1.1. Link):

In KWin’s Overview effect, the labels showing windows’ titles are now more legible (Akseli Lahtinen, Plasma 6.1.2. Link):

The Ocean and Oxygen sound themes now include bell sounds, so our automatic “make the system bell not not make you want to commit homicide” transformer can get its sound from those themes, and not just the fallback FreeDesktop sound theme (me: Nate Graham and Guilherme Marçal Silva, Plasma 6.1.2. Link 1 and link 2)

We’ve given another go at the idea of using the same “Open With” UI everywhere — this time including the terminal and script options that were missing last time and caused us to revert it (Harald Sitter, Plasma 6.2.0. Link 1 and link 2):

Discover now shows you a clear error message when the PackageKit daemon is broken or crashy instead of an ambiguous-to-misleading message, and also gives you a handy button you can use to submit a bug report for your distro to gently nudge them to actually care about PackageKit support (Harald Sitter, Plasma 6.2.0. Link)

Plasma’s Lock/Logout widget now has a “Show logout screen” option, bringing back the capability to see a screen with all the options. And now it replaces the previous “shut down” action, restoring the default user experience it had in Plasma 6.0 and earlier: a lock button and a button to show all the session-ending options, with “Shut Down” pre-selected. You can still customize the widget to show whatever you want, of course (Thomas Carmichael, and me: Nate Graham, Plasma 6.2.0. Link 1 and link 2)

Clarified the UI option to confirm shutdown, reboot, and logout, and also changed the old ambiguous “Leave…” text to “Show Logout Screen”, which is clearer (me: Nate Graham, Plasma 6.2.0. Link 1 and link 2):

You can now set the key repeat rate to 200 characters per second, up from the old maximum value of 100 (Vladimir Brik, Plasma 6.2.0. Link)

On System Settings’ Search page, indexing status is now shown in a footer, so it doesn’t cause UI elements to jump around while indexing (me: Nate Graham Plasma 6.2.0. Link):

On System Settings’ Touchpad page, the “Disable while typing” effect now warns you that it might break video games while in use (me: Nate Graham, Plasma 6.2.0. Link)

Plasma’s Power and Battery widget now tells you when power profiles aren’t available because power saving is being handled by the alternative TLP utility (Bohdan Onofriichuk, Plasma 6.2.0. Link)

On System Settings’ Bluetooth page, blocked devices are now listed in their own section, and we also show a contextual help button to help you understand what “blocked” means in this context (Ivan Tkachenko, Plasma 6.2.0. Link 1 and link 2):

The crash reporter dialog now has a “Finish” button in the corner that activates once it’s all done, so it’s more obvious when and how you can get rid of it (Engin Karakurt, Plasma 6.2.0. Link)

When using a custom accent color, Breeze folder icons no longer turn all white or all black when selected in various contexts; instead their background colors will just be tinted a little bit (Marco Martin and Carl Schwan, Frameworks 6.4. Link):

Bug Fixes

Fixed two regression in KCalc that would cause it to crash when hitting the backspace key and broke input chaining (Gabriel Barrantes, KCalc 24.05.2. Link 1 and link 2)

Fixed a regression that caused Plasma’s Icons-and-Text Task Manager widgets to not actually show text anymore on a thick vertical panel (Marco Martin, Plasma 6.1.1. Link)

Fixed a regression that could cause Plasma’s System Tray to temporarily disappear when you quit an app playing media while the System Tray’s Media Player widget was active (Marco Martin, Plasma 6.1.1. Link)

Fixed a visual regression in Plasma’s icons-and-text task manager’s multi-row mode (Ismael Asensio, Plasma 6.1.1. Link)

Fixed a regression that caused Plasma panels’ Adaptive opacity mode to not work properly with certain types of window resizing actions, panel orientations, and visibility states (Fushan Wen, Plasma 6.1.1. Link)

Fixed a KWin regression that broke multi-monitor support in the popular Polonium tiling script (Alik Aslanyan, Plasma 6.1.1. Link)

Fixed a regression that caused newly-created blank System Monitor widgets to be broken until Plasma was restarted once (Arjen Hiemstra, Plasma 6.1.1. Link)

Fixed an odd interaction in Plasma’s new edit mode that could cause it to undesirably exit when the widget explorer was closed (Niccolò Venerandi, Plasma 6.1.1. Link)

Fixed an issue that could sometimes cause the displayed brightness percentage to drift out of sync between the System tray widget and the OSD, and also make the slider kinda laggy (Jakob Petsovits, Plasma 6.1.1. Link 1 and link 2)

In case you’d noticed a tiny, barely detectable horizontal line in the top-left corner of Plasma widgets, it’s gone now (Niccolò Venerandi, Plasma 6.1.1. Link)

Fixed a case where KWin would crash when run on a system with very old (like, 15 years old) graphics hardware (Xaver Hugl, Plasma 6.1.2. Link)

Fixed a regression that broke the layout of Discover’s “Share” dialog (Aleix Pol Gonzalez, Plasma 6.1.2. Link)

Fixed a regression that could cause individual widgets’ hover popups in edit mode to get covered up by the panel settings dialog under certain circumstances (Niccolò Venerandi, Plasma 6.1.2. Link)

Fixed a regression that could, under certain circumstances, cause Plasma’s “Show Alternatives” popup get stuck in the open state open and not close (Niccolò Venerandi, Plasma 6.1.2. Link)

Fixed a regression that caused the “Add Widgets…” button that appears on empty panels is to be aligned incorrectly and located in the wrong place (Niccolò Venerandi, Plasma 6.1.2. Link)

Fixed a regression that caused undoing the deletion of a panel outside of global edit mode to make it get stuck in its own panel edit mode (Marco Martin, Plasma 6.1.2. Link)

Fixed an issue that could cause Plasma to freeze when a thick panel contained certain combinations of widgets with very specific popup sizes (Marco Martin, Plasma 6.1.2. Link)

When System Settings is already showing a page that lives in a sub-category, using another app to open open a different page that doesn’t live in a sub-category now correctly hides the sub-category column (Matthias Tillman, Plasma 6.1.2. Link)

On System Settings’ Accessibility page, the sidebar listing sub-pages now has correct hover and highlight effects (me: Nate Graham, Plasma 6.1.2. Link)

When using Qt 6.8, Plasma no longer quits when you drag an app from Kickoff to the desktop (Vlad Zahorodnii, Plasma 6.2.0. Link)

Discover no longer crashes when you try to update a Flatpak app that has been declared end-of-life without any replacement provided. Instead you’ll be asked if you’d like to uninstall it (Harald Sitter, Plasma 6.2.0. Link)

Dragging a widget from one Plasma panel to another one or the desktop while in edit mode no longer causes it to get lost in a limbo state (Niccolò Venerandi, Plasma 6.2.0. Link)

If you set a global shortcut to activate a System Tray widget, it now always works, rather than only working after the first time the System Tray was opened (Marco Martin, Plasma 6.2.0. Link)

The “Choose a device to send to:” text in share dialogs for KDE Connect is now always readable in every language (Ivan Tkachenko, Frameworks 6.4. Link)

Other bug information of note:

Performance & Technical

Fixed a case where KWin’s new triple buffering feature could actually make things worse with certain hardware (Xaver Hugl, Plasma 6.1.1. Link)

KWin now falls back to software rendering automatically when used on systems with very old (like, 15 years old) graphics hardware that supports only a limited number of OpenGL operations (Xaver Hugl, Plasma 6.1.1. Link)

Fixed a memory leak in Plasma caused by receiving notifications (Arjen Hiemstra, Plasma 6.1.2. Link)

Improved KWin’s robustness when using a very high refresh rate input device (like one of those blingy 127 billion hertz gamer mice), reducing the chance of apps freezing or quitting after the mouse is moved very very quickly (Vlad Zahorodnii, Plasma 6.2.0. Link)

In Plasma’s clipboard, the “Keep the selection and clipboard the same” setting now works independently of the “Text selection: Always save in history” setting (Fushan Wen, Plasma 6.2.0. Link)

Using a stylus on Wayland now allows you to drag windows around from empty areas, when so configured (Nicolas Fella, Qt 6.7.3. Link)

Automation & Systematization

Added a test for adaptive panel opacity working properly (Fushan Wen, link)

…And Everything Else

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

How You Can Help

You probably noticed a lot of regressions got fixed! How did they sneak through? Frankly, because not enough people beta-tested Plasma 6.1. Plasma is enormous and can be used in wildly diverse ways, and there are only so many use cases that developers can notice. Automatic testing helps, and we’re getting better at this, but many features are difficult or impossible to test in an automatic fashion. Our faithful beta testers also find many regressions, but by far the majority go unnoticed until the final release. This is a problem!

If you use have multiple systems or an adventurous personality, you can really help us out by installing beta versions of Plasma using your distro’s available repos and reporting bugs. Arch, Fedora, and openSUSE Tumbleweed are examples of great distros for this purpose. So please please do try out Plasma beta versions. It really helps us! Heck, if you’re very adventurous, live on the nightly repos. I’ve been doing this full-time for 5 years with my sole computer and it’s surprisingly stable.

Does that sound too scary? Consider donating today instead! That helps too.

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!

This week in KDE: Plasma 6.1 cleanups

Plasma 6.1 has been released to good reviews! We’ve spent the week fixing issues reported so far, as always. So far we’re in good shape here, with almost all the big issues fixed already. We’re still tracking a few more, such as cases where triple buffering introduced stuttering, or random QML widgets and System Settings pages failing to launch until Qt’s QML cache folder is cleared (if you do this, please save it first and attach it to the bug report).

So this time, lets start with the bug fixes:

Bug Fixes

Moving the pointer right after the screen locks to make it unlock immediately no longer just breaks it entirely instead. In addition, made the screen locker more robust against failure in a few more cases (Xaver Hugl, Plasma 6.1.1. Link 1, link 2, and link 3)

Re-fixed the bug of desktop files dragged to another screen disappearing until Plasma was restarted. This so fixed a case where Plasma could crash when dragging files from the desktop to some folders in Dolphin (David Edmundson, Plasma 6.1.1. Link 1 and link 2)

In Plasma’s new zoomed-out Edit Mode, moving non-center-aligned panels to a different screen edge once again works rather than crashing Plasma (Marco Martin, Plasma 6.1.1. Link)

KWin’s Cube effect can once again be opened reliably (David Edmundson, Plasma 6.1.1. Link)

KWin’s Zoom effect and ICC color profiles now get along better (Xaver Hugl, Plasma 6.1.1. Link)

KWin’s Shake Cursor effect now works as expected with every global animation speed, including animations entirely disabled (Vlad Zahorodnii, Plasma 6.1.1. Link)

Fixed a recent visual regression KWin’s Glide effect (Vlad Zahorodnii, Plasma 6.1.1. Link)

Widgets on the Plasma desktop that are dragged while in the new zoomed-out Edit Mode are now connected to the pointer as expected (Marco Martin, Plasma 6.1.1. Link)

In Discover, the “still looking” busy indicator is no longer visually broken for the first search you make after launching the app (Akseli Lahtinen, Plasma 6.1.1. Link)

Fixed that weird blur glitch when a floating panel de-floats (Marco Martin, KDE Frameworks 6.3.1. Link)

System Settings’ Audio Volume page no longer causes System Settings to crash when you open it for a second time(David Redondo, Qt 6.7.2. Link)

When you drag pinned Task Manager icons to re-arrange them, other icons no longer come along for the ride and ruin everything (Niccolò Venerandi, Qt 6.7.2. Link)

Other bug information of note:

UI Improvements

You can now resize the sidebar and the playlist bar in Elisa to suit your preferences. This is enabled by the recent work to get better a resizable split view control, so expect more of these soon! (Jack Hill, Elisa 24.08.0. Link)

Removed Filelight’s back and forward buttons because they were confusing when paired with the “go up” action (Han Young, Filelight 24.08.0. Link)

A number of countries that use Metric units with the US Letter paper size (e.g. Canada) now get the correct paper size set in System Settings’ Region & Language Page (Han Young, Plasma 6.1.1. Link)

By default, Breeze-themed windows can now be dragged only from their logical and visually distinct header areas, rather than every empty area. This is particularly helpful for control-heavy apps with with lots of draggable UI elements, such as Kdenlive. You can of course change this back if you’d like (me: Nate Graham, Plasma 6.2.0. Link)

In Discover, Flatpak runtimes on the Updates page are now shown in a separate “Application Support” category to clarify their purpose (Ivan Tkachenko, Plasma 6.2.0. Link)

Plasma’s Weather widget now tries to guide you away from weather stations provided by wetter.com, which doesn’t even include current temperature data! These weather stations will now only be shown as a fallback if no other better weather stations are available (Ismael Asensio, Plasma 6.2.0. Link)

Plasma’s Bluetooth widget no longer shows devices you’ve blocked (Ivan Tkachenko, Plasma 6.2.0. Link)

In System Monitor, you can now hide a column from the context menu you’ll see when right-clicking on its header (James Graham, Plasma 6.2.0. Link)

Reverted a change made a few months ago to force single-click on Folder View popups in list mode. These are file views and not menus — despite any superficial similarity — so we now treat them like file views and respect your click preference (me: Nate Graham, Plasma 6.2.0. Link)

System Settings’ Quick Settings pages is now visible in the sidebar rather than the header, matching other KDE apps (me: Nate Graham, Plasma 6.2.0. Link)

The Get New [thing] dialogs now use a more compact view style by default, improving information density (me: Nate Graham, Frameworks 6.4. Link)

Automation & Systematization

Added some GUI tests for various functionality in KWrite (Antoine, Herlicq link)

Added an autotest to verify screen arrangements after XWayland scales change (Xaver Hugl, link)

Added an autotest to verify that power profiles work as expected (Fushan Wen, link)

…And Everything Else

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

How You Can Help

The KDE organization has become important in the world, and your time and labor have helped to bring it there! But as we grow, it’s going to be equally important that this stream of labor be made sustainable, which primarily means paying for it. Right now the vast majority of KDE runs on labor not paid for by KDE e.V. (the nonprofit foundation behind KDE, of which I am a board member), and that’s a problem. We’ve taken steps to change this with paid technical contractors — but those steps are small due to growing but still limited financial resources. If you’d like to help change that, consider donating today!

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!

This week in KDE: Final Plasma 6.1 polishing and new features for 6.2

Plasma 6.1 is due to be released in three days, and lots of attention went into final release readiness activities: QA, bug-fixing, performance profiling, auto-testing, stuff like that. Boring but important! And happily, reviews of the 6.1 beta are, like, really good. So we want to make sure that the final release doesn’t disappoint!

In addition, we’re hard at work on Plasma 6.2, which is now beginning to accumulate features. Major areas of focus are some of the remaining Wayland pain points, including tablet and artist workflows. You can see some progress on that already:

New Features

Added an additional option for how to map the area of your drawing tablet to the area of your screen. It can be useful to have multiple options here, since drawing tablets are as diverse as screens, and their sizes and aspect ratios are unlikely to be identical (Joshua Goins, Plasma 6.2.0. Link):

Added a test mode feature for drawing tablets so you can test your settings (Joshua Goins, Plasma 6.2.0. Link):

Ported the Weather widget to the new API offered by the NOAA weather provider, which unlocked night forecasts in addition to the existing day forecasts (Ismael Asensio, Plasma 6.2.0. Link 1 and link 2)

This is new, so please excuse the UI glitches that are visible here. They’ll be cleaned up before the final release of Plasma 6.2 in four months.

UI Improvements

You can now wake up a sleeping screen using a stylus (David Redondo, Plasma 6.1.1. Link)

KWin’s Morphing Popups effect has been deleted. While it added a measure of fanciness, unfortunately the way it worked introduced unfixable visual glitches. After multiple attempts to fix them, with a heavy heart we had to admit defeat. Removing the effect fixed six open Bugzilla tickets, one of which had 20 (!) duplicates. Stability beats fanciness. (David Edmundson, Plasma 6.2.0. Link)

Bug Fixes

Scrolling in Elisa’s lyrics view once again works with a clicky scroll wheel mouse (Jack Hill, Elisa 24.05.1. 24.05.1)

Fixed that annoying bug that affected people not using Systemd (or Plasma’s Systemd integration) which would make some but not all Plasma settings fail to get saved properly (David Edmundson, Plasma 6.1.0. Link)

Fixed a bug that could cause Plasma’s “Unify Outputs” screen action to actually disable certain screens instead of making them mirror the existing one (Xaver Hugl, Plasma 6.1.0. Link)

Quickly adapted to the NOAA weather provider’s continued API changes by implementing a quick fix to keep it working for the Weather widget in Plasma 6.1. (Ismael Asensio, Plasma 6.1.0. Link)

Fixed multiple issues causing System Monitor widgets displaying certain types of days to be visually squished when displayed on Plasma panels (Arjen Hiemstra, Plasma 6.1.0. Link)

Fixed a visual glitch that caused flickering when canceling a quick-tile action initiated by dragging a window (Xaver Hugl, Plasma 6.1.0. Link)

When you change the system volume using the slider in Plasma’s Audio widget, the maximum volume in overdrive mode is once again 150%, not 153% (Ismael Asensio, Plasma 6.1.0. Link)

Fixed an issue that could cause XWayland-using apps to freeze for a short period of time after slowly resizing their windows, especially when using screen scaling (Vlad Zahorodnii, Plasma 6.1.1. Link)

In System Monitor pie charts (both in the app and the widgets), text in the center no longer sometimes overflows when it’s very long (Arjen Hiemstra, Plasma 6.1.1. Link)

Other bug information of note:

Performance & Technical

Improved the memory efficiency of Plasma notifications that display images (Fushan Wen, Plasma 6.2. Link)

Automation & Systematization

Added a test to ensure that Plasma panel focus works as expected (Niccolò Venerandi, link)

Added a test to ensure that images in Plasma notifications appear properly (Fushan Wen, link)

Added a test for some more combinations of settings in Plasma’s Clipboard widget, since there are rather a lot of them (Fushan Wen, link)

Added a test to ensure that the camera usage monitor is working (Fushan Wen, link)

Added a test to make sure the keyboard brightness is settable as expected (Fushan Wen, link)

…And Everything Else

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

How You Can Help

The KDE organization has become important in the world, and your time and labor have helped to bring it there! But as we grow, it’s going to be equally important that this stream of labor be made sustainable, which primarily means paying for it. Right now the vast majority of KDE runs on labor not paid for by KDE e.V. (the nonprofit foundation behind KDE, of which I am a board member), and that’s a problem. We’ve taken steps to change this with paid technical contractors — but those steps are small due to growing but still limited financial resources. If you’d like to help change that, consider donating today!

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!

These past two weeks in KDE: massive stability work for Plasma 6.1

Sorry for the interruption last week; I was on vacation. While I was vacating, my colleagues were in full-on fix-everything mode in preparation for the upcoming Plasma 6.1 release in a little over a week. And what a release it promises to be! I think this is going to be a good one, folks. Lots of great features, improved performance and smoothness, and oodles of fixes for all kinds of strange bugs with your wild and wacky hardware devices!

New Features

Plasma’s Networks widget now supports WebAuth for SAML-based authentication. I don’t know what this means, but if you do, that probably means you’re happy about it! (Joel Holdsworth, Plasma 6.2.0 Link)

The network QR code that you can show in Plasma’s Networks widget is now draggable, so you can get an image file out of it wherever you want! (Fushan Wen, Plasma 6.2.0. Link)

System Monitor’s data backend now supports getting CPU/memory/IO/etc. pressure data from /proc/pressure/ (when supported by the Linux kernel) and displaying it in sensors. Hopefully this data will start to show up in user-facing features soon! (Adrian Edwards, Plasma 6.2.0 Link)

UI Improvements

Dolphin once again recommends installing Filelight if you try to get information about free space but it’s not installed (Felix Ernst, Dolphin 24.08.0. Link)

Passwords copied from KWalletManager no longer appear visible in the Clipboard widget (Weng Xuetian, KWalletManager 24.08.0. Link)

Plasma’s Panel Settings dialog no longer obscures the hover pop-ups for individual widgets while it’s open (David Edmundson, Plasma 6.1.0. Link)

In Plasma’s Sticky Notes widget, the colors of the inline buttons already change with the system color scheme. Now they also change appropriately based on the color scheme you select for the sticky note itself! (Evgeniy Harchenko, Plasma 6.1.0. Link)

Removed the “Hide utility windows for inactive applications” option, because it was broken and apparently nobody had noticed or reported this, and also it’s kind of a weird thing to exist in the first place. This also fixes a Plasma panel auto-hide bug caused by using it (Xaver Hugl, Plasma 6.1.0. Link 1 and link 2)

Searching in System Settings no longer sometimes returns nonsensical matches based on keywords that got implicitly joined together in ways that didn’t make sense (Harald Sitter, Plasma 6.1.0. Link)

A better cursor icon is now used when dragging windows (Vlad Zahorodnii, Plasma 6.1.0. Link)

On X11 with an NVIDIA GPU, a floating panel, and adaptive panel transparency, an unfortunate bug in the NVIDIA driver causes windows to lag when moved and resized. For now we’ve added a warning in the panel settings dialog about this (Ivan Tkachenko, Plasma 6.2.0. Link)

Improved the accessibility of the common Kirigami.PlaceholderMessage UI component (Aleix Pol Gonzalez, Frameworks 6.4. Link)

The custom accent color feature (including “accent color from wallpaper”) now does a better job of picking colors for links that will be readable, no matter what colors your base color scheme uses (Akseli Lahtinen, Plasma 6.1.0. Link)

Bug Fixes

Fixed an unusual issue in Elisa that could cause it to not launch when certain DBus setups on certain distros (Jack Hill, Elisa 24.05.1. Link)

Fixed Elisa not launching at all on Windows after a Windows integration library we were using was removed (Jack Hill, Elisa 24.05.1. Link)

Elisa no longer crashes when you try to enqueue the contents of filesystem folders that don’t actually have any music in them (Jack Hill, Elisa 24.05.1. Link)

Spectacle’s highlight annotation once again actually highlights (Noah Davis, Spectacle 24.05.1. Link)

Fixed a way that KWin could crash after the system wakes from sleep with weird screens that turn on strangely (Vlad Zahorodnii, Plasma 6.1.0. Link)

KWin should no longer crash when apps do weird things and for some reason two drag operations end up happening at once (Vlad Zahorodnii, Plasma 6.1.0. Link)

Fixed a way that KWin could crash on X11 when you change Global Themes (Xaver Hugl, Plasma 6.1.0. Link)

Fixed a weird crash in KWin that could happen when you’re pressing keys on the keyboard during the exact moment that XWayland disconnects (David Edmundson, Plasma 6.1.0. Link)

Fixed a cause of Plasma using too much memory and/or freezing due to system notifications containing certain sizes of images (Akseli Lahtinen, Plasma 6.1.0. Link)

Changing a System Monitor widget located on a thick panel to the “Application Table” or “Process Table” display style no longer causes Plasma to freeze (Akseli Lahtinen, Plasma 6.1.0. Link)

Fixed the most common crash in System Settings’ Firewall page which could be experienced by changing settings and then switching pages (Nicolas Fella, Plasma 6.1.0. Link)

Fixed an extremely esoteric Plasma crash that was caused by repeatedly wiggling the pointer over certain menu items of the context menu of the sub-folder popup of a folder located on the desktop (Akseli Lahtinen, Plasma 6.1.0. Link)

When you try to add a sensor to System Monitor or one of its so-named widgets that you’ve already added, you’re now warned and prevented from doing so, instead of being allowed to continue, which would silently break the display of all sensors (Arjen Hiemstra, Plasma 6.1.0. Link)

Connected devices that are nice enough to report battery information to Plasma no longer sometimes randomly get disconnected for no good reason (Ivan Tkachenko, Plasma 6.1.0. Link)

Some monitors that do unusual and exotic things under the hood no longer get their resolutions set to 640×480 after resuming from sleep (Xaver Hugl, Plasma 6.1.0. Link)

The “Allow restore on future sessions” checkbox on the screen sharing dialog once again works (Nicolas Fella, Plasma 6.1.0. Link)

Titlebar context menus of non-maximized Aurorae-decorated windows are no longer misplaced on Wayland (Vlad Zahorodnii, Plasma 6.1.0. Link)

Kicker’s panel button is no longer too large with a thin panel, which was a regression caused by me trying to keep it from getting too large with thick panels! (Niccolò Venerandi, Plasma 6.1.0. Link)

Connecting a new screen that’s larger than any of the current screens no longer causes it to get a small constrained version of the default wallpaper; now it gets the correct size (Marco Martin, Plasma 6.1.0. Link)

When you’ve got a floating Plasma panel on a screen edge that’s shared with another screen, it no longer pushes an odd blurry rectangle onto that adjacent screen when it de-floats (Niccolò Venerandi, Plasma 6.1.0. Link)

Using the “Application” or “Window” layout switching mode no longer causes Plasma’s System Tray popup to close immediately when you try to open it while the widget is located on a panel on the bottom or right screen edge (Marco Martin, Plasma 6.1.0. Link)

Shutting down, restarting, etc. from within KWin’s Overview effect no longer causes it to freeze for 45 seconds before completing the operation (David Edmundson, Plasma 6.2.0. Link)

Fixed a bug that caused items on the Plasma desktop to disappear until Plasma was restarted after their icons changed, either because you changed them manually, or they got automatically changed by something else automatically—for example by putting items into the trash (Akseli Lahtinen, Frameworks 6.4. Link)

Worked around a Qt regression that prevented toolbar buttons in QtQuick apps from showing that they have keyboard focus (Aleix Pol Gonzales, Frameworks 6.4. Link)

Other bug information of note:

Performance & Technical

Improved the performance of basically everything for cases where the ~/.cache folder is located on a slow disk, such as a hard drive (David Edmundson, Plasma 6.1.0. Link)

Plasma and KWin no longer rocket up in CPU usage for no good reason when using the using “Keep the selection and clipboard the same” and “Text selection: Always save in history” Clipboard widget settings (David Edmundson, Plasma 6.1.0. Link)

Re-enabled hardware-accelerated cursor support for Intel GPUs, since the bugs that were causing us to disable it have since been resolved. This should make cursors more responsive and not increase CPU usage when moving it (Vlad Zahorodnii, Plasma 6.2.0. Link)

Implemented Breeze styling for movable splitters in QML software, so we can now start porting things to use it. This will eventually result in, for example, resizable sidebars in places where you’d expect for sidebars to be resizable—imagine that! (Ivan Tkachenko, Frameworks 6.4. Link)

Automation & Systematization

Turned a manual test for the Plasma System Tray into an automatic one, so now it actually gets run regularly (Fushan Wen, link)

Added a few autotests for the Plasma Clipboard widget to verify recent fixes (Fushan Wen, link)

…And Everything Else

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

How You Can Help

The KDE organization has become important in the world, and your time and labor have helped to bring it there! But as we grow, it’s going to be equally important that this stream of labor be made sustainable, which primarily means paying for it. Right now the vast majority of KDE runs on labor not paid for by KDE e.V. (the nonprofit foundation behind KDE, of which I am a board member), and that’s a problem. We’ve taken steps to change this with paid technical contractors — but those steps are small due to growing but still limited financial resources. If you’d like to help change that, consider donating today!

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!

This week in KDE: Triple buffering and other sources of amazingness

We just branched for Plasma 6.1 and released the beta, which means the window to add new features has now closed. But before it did, a ton of amazing stuff snuck in! Plasma 6.1 promises to be a large and impressive release.

Probably the most impactful thing is triple buffering support on Wayland! This should make animations and screen rendering smoother in general–ideally up to the level of the X11 session, which already did triple buffering. This work by Xaver Hugl has been in progress for a long time and lands in Plasma 6.1. Link

That’s not all though… oh no, not by a long shot:

New Features

Dolphin now includes a feature to move the selected items into a new folder, all at once (Ahmet Hakan Çelik, Dolphin 24.08. Link)

KDE’s desktop portal implementation now includes support for the Input Capture portal (David Redondo, Plasma 6.1. Link 1, link 2, and link 3)

Plasma now supports enabling and disabling the feature of some Lenovo IdeaPad and Legion laptops whereby the battery can be configured to only charge up to a specific fixed level (sometimes 60%, sometimes 80%; it depends on the machine) to maximize battery health (Fabian Arndt, Plasma 6.1. Link)

Plasma’s Edit Mode has a beautiful new zoom-out effect to help you notice and understand you’re in a separate mode, and also make it easier to get out once you’re done (Marco Martin, Plasma 6.1. Link 1 and link 2):

You can now configure the screen locker to unlock without a password, letting it be used as a traditional screensaver if you enable a visually attractive wallpaper plugin and disable the clock (Kristen McWilliam, Plasma 6.1. Link)

UI Improvements

Our long national nightmare of jarring error beep sounds is now over!!!! Plasma now intercepts attempts to ring the system bell (which generally sounds so unpleasant that you feel the need to immediately commit an act of violence) and replaces them with a nice sound from the active sound theme (Nicolas Fella, Plasma 6.1. Link 1, link 2, and link 3)

KRunner search results already prioritized apps by default, but now they also prioritize System Settings pages too (Alexander Lohnau, Plasma 6.1, link 1, and link 2)

On System Settings’ Power Management page, a few UI controls that used spinboxes have been replaced with fancy comboboxes. This fixes some bugs and offers a faster interaction paradigm for the basic use case of choosing a common value — with an expert workflow of letting you select anything you want in a dialog box (Jakob Petsovits, Plasma 6.1. Link):

System Settings’ Printers page now guides you through the process of installing the system-config-printer package to improve printer detection, if it wasn’t pre-installed by your distro (Mike Noe, Plasma 6.1. Link)

Getting information from weather providers can sometimes be a bit flaky, so Plasma’s Weather Report widget now informs you to just try again in a little bit when this happens (me: Nate Graham, Plasma 6.1. Link):

The way Welcome Center presents KRunner has gotten a major overhaul, and now shows a fancy animated depiction of actually using it! In addition, the final page is now more streamlined and less demanding of your time and money (Oliver Beard, Plasma 6.1. Link 1 and link 2):

Plasma’s Weather Widget no longer shows the “Appearance” page in its config window when used on the desktop, since nothing on that page is applicable to the desktop form factor (Ismael Asensio, Plasma 6.1. Link)

KWin’s custom tile editor now uses clearer terminology for creating split views (me: Nate Graham, Plasma 6.1. Link):

System Settings’ Background Services page is no longer actually visible in System Settings by default; everything here is an implementation detail, and monkeying with its settings is an easy way to break your system. If you’re an expert, you can still get to it by searching for it in KRunner, but it won’t be shown in System Settings anymore (Nicolas Fella, Plasma 6.1. Link)

The remainder of the header messages in System Settings pages have been ported to the new frameless style, making them all consistent now (me: Nate Graham, Plasma 6.2. Link):

Improved the way SVG images render on screen when using a fractional scale factor, reducing blurriness (Marco Martin, Frameworks 6.3. Link)

Bug Fixes

Filelight no longer counts files stored in OneDrive cloud as local files that occupy space (Harald Sitter, Filelight 24.05.1. Link)

In KColorChooser, the “Pick Screen Color” button is no longer missing on Wayland (Thomas Weißschuh, KColorChooser 24.05.1. Link)

Made Plasma more robust against crashing when any widgets have malformed size values, which can happen under certain circumstances (Marco Martin, Plasma 6.0.5. Link)

When KWin falls back to using a software cursor after the graphics driver rejected the use of a hardware cursor, this can no longer lock up the entire screen under certain circumstances — such as with XWayland-using apps on an Apple Silicon Mac (Xaver Hugl, Plasma 6.0.5. Link)

Spectacle no longer takes blurry screenshots on systems with multi-screen plus mixed-scale-factor setups (Volodymyr Zolotopupov, Plasma 6.0.5. Link)

Global shortcuts are now more robust and stable on NixOS and other distros that regenerate the sycoca cache repeatedly in an automated manner (Vlad Zahorodnii, Plasma 6.0.5. Link)

Fixed multiple longstanding issues in System Settings whereby switching pages, clearing the search field, or opening a new page from outside of System Settings would cause the sub-category column to show the wrong thing (Nicolas Fella, Plasma 6.0.5. Link 1, link 2, and link 3)

Fixed a case where turning off an external monitor plugged into a laptop with its lid closed could cause KWin to crash (Xaver Hugl, Plasma 6.1. Link)

On Wayland, Plasma no longer quits when you open an enormous number of windows (Xaver Hugl, Plasma 6.1. Link)

The “Activation Gestures” category of System Settings’ Accessibility page is back, after being accidentally removed when the page was ported to QML (Nicolas Fella, Plasma 6.1. Link)

On Wayland, when any apps that have System Tray icons are running, there’s no longer a little invisible square in the top-left corner of the screen that eats input, and also no elevated CPU usage with certain screen arrangements (David Edmundson, Plasma 6.1. Link 1 and link 2)

Pressing Meta+B repeatedly no longer opens multiple Power Profile chooser OSDs, and therefore no longer represents a way for you to exhaust your system’s memory by generating an infinite stack of them (Fabian Arndt, Plasma 6.1. Link)

Made KWin more reliable about detecting screens’ physical sizes (Jakub Piecuch, Plasma 6.1. Link)

When using a Plasma Panel in “Fit content” mode with only an Icons-Only Task Manager on it, there’s no longer unnecessary empty space on the right side of it on login (Akseli Lahtinen, Plasma 6.1. Link)

In the dialog that lets you choose windows and screens to share, clicking on the checkboxes to select items now works. Previously you had to click on the whole items themselves, but the checkboxes didn’t work; now both work (me: Nate Graham, Frameworks 6.3. Link)

Fixed several issues preventing certain Breeze icons from adjusting their colors properly when run with a dark color scheme, as well as issues with generation of static dark-theme-compatible icons (Corbin Schwimmbeck, Frameworks 6.3. Link 1 and link 2)

Re-spun the KWidgetsAddons framework to include a bugfix for an issue that caused OBS to crash when selecting files, and also one that caused KMessageWidgets to sometimes show incorrect background colors (Joshua Goins and Albert Astals Cid, KWidgetsAddons frameworks 6.2.2. Link 1 and link 2)

Re-spun the KWallet framework to include a bugfix for an issue that caused the Secrets portal to not work in Flatpak apps (Nicolas Fella, KWallet 6.2.1. Link)

Context menus should now be a lot less likely to appear as odd standalone windows with titlebars when activated on an inactive window (Vlad Zahorodnii, Qt 6.7.2. Link)

Other bug information of note:

Performance & Technical

Reduced frame drop on a variety of hardware (Xaver Hugl, Plasma 6.1. Link)

Improved the speed with which Discover launches and how responsive it is when scrolling through long app lists while the Flatpak backend is active (Aleix Pol Gonzalez, Plasma 6.1. Link)

Automation & Systematization

Added some new autotests for Plasma panels and containments to make sure they get sized and located correctly (Marco Martin and Akseli Lahtinen. Link 1, link 2, and link 3)

…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

The KDE organization has become important in the world, and your time and labor have helped to bring it there! But as we grow, it’s going to be equally important that this stream of labor be made sustainable, which primarily means paying for it. Right now the vast majority of KDE runs on labor not paid for by KDE e.V. (the nonprofit foundation behind KDE, of which I am a board member), and that’s a problem. We’ve taken steps to change this with paid technical contractors — but those steps are small due to growing but still limited financial resources. If you’d like to help change that, consider donating today!

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!