Holiday Hacking 2025
Like every year I took a couple of days off at the end of the year to wind down and spent some quality time with the family. Time just flies and it feels like the year had only just begun. I have also taken the time to revisit some of my work-in-progress merge requests and tried to push them over the finish line.

More than five years ago, at the peak of the pandemic, I wrote a patch to add a “Push to talk” feature to Plasma’s volume keys handler. For meetings, I even bought a cheap 8€ USB foot pedal to operate it like a bus driver! It’s basically a single button USB keyboard. Unfortunately, back then KGlobalAccel, our global shortcuts handler, couldn’t report key press vs. key release. Therefore, it was a bit of a hack abusing key auto-repeat: pressing the key, a timer was started and the microphone unmuted. Every key repeat reset the timer and only when it expired the microphone was muted again. Fortunately, nowadays we can query a global shortcut’s state and detect when it is pressed and released again. I decided to revisit the patch and made it much simpler. I hope to finally include it in Plasma 6.7 coming out next summer.
Speaking of shortcuts, Meta+P (p as in projector) lets you quickly switch between a couple of common display arrangements. For when the one you want isn’t included, there’s now a handy button in the corner to bring you to the full display settings. It has actually become my primary means of accessing them.

Another neat little addition is a “Compare files” button (using Kompare) in the confirmation dialog when copying a plain text like file (e.g. source code, too) would overwrite an existing one. It already looked at the files to decide whether they‘re different or not but it didn’t let you check in detail yourself.
Last year, I showed a shell script running in Konsole reporting its progress using ConEmu-specific OSCs (Operating System Command). The merge request sat dormant after I lost some work on it while moving to my new laptop. Always push your work-in-progress changes to a git branch sometime, right? I have cleaned up the patch, added API comments, as well as an option for whether to show progress in taskbar or not. It also opts into FLATPAK_TTY_PROGRESS. To my surprise, when I implemented Unity Launcher API in Plasma, I added an option to disable badges on individual applications but not progress reporting. It’s still in review but I am confident to ship it as part of KDE Gear 26.04.
It’s always fascinating to observe other users interacting with KDE Plasma. For instance, us power users take middle click paste for granted. On Plasma, middle clicking the desktop typically results in a sticky note of text being created. However, when you did that by accident, it wasn’t really clear how to get rid of it. If you click the sticky note, the format toolbar includes a delete button, sure, but a user might not even think of doing that. Originally, I thought about adding an “Undo” notification. The simplest solutions are often the best, though, and so it just focuses the newly created sticky note to ensure the delete button is visible right away.

Finally, for those who like to procrastinate, KPat (KPatience) now offers direct access to all of its game modes via the context menu in the application launcher and in KRunner. Just type “Freecell” or my favorite “Grandfather’s Clock” (because you can’t really lose) into KRunner, and off you go!
There’s still a couple of days left for our Year End Fundraiser. If you want to show your love for KDE and support the work we’re doing, please consider donating! I am looking forward to seeing you all around next year. 