KDE Archive
If you’re following KDE Plasma development, you’ve most likely run into something called Union, a project KDE is working on to unify their various ways of theming their applications. The problem KDE is facing right now is that after so many decades of development and changes in how people want to develop applications, they ended up with various different ways of writing applications, each with their own theming method. The end result has been that for a while now, theming on KDE is kind of broken. Broken in what way? Most long-time KDE users will be aware that ever since KDE 4, the KDE shell (Plasma using SVG for theming) and KDE applications (QtWidgets using QStyle for theming) use separate theme engines. While this has always been annoying, it’s at least manageable in that most theme designers tended to create both a Plasma SVG theme and a QStyle theme that matched. However, things got more complicated when KDE introduced QtQuick, its modern way of creating applications with QML. QtQuick has its own theme, qqc2-desktop-style, to make QtQuick applications look and feel like Breeze, KDE’s current theme. Not only do all of these have to be kept in sync manually, QtQuick applications also do not properly inherit all the elements of the QStyle theme you set, leading to many modern KDE applications looking broken when using a non-default theme (and the same applies when using Kvantum; it also cannot properly theme QtQuick applications). In other words, there is currently no way to theme the entire KDE desktop for a consistent look, and if you try, many applications will simply look broken. Union is KDE’s answer to this set of problems. Union is a new style engine that takes CSS and processes it into consistent themes for both QtWidget and QtQuick applications. It’s quite flexible, and can potentially even be extended to generate GTK themes from that same CSS. Sadly, since the KDE Pasma shell SVG stuff is entirely different, it won’t be styled by Union, but KDE might simply retire the SVG stuff entirely and move the Plasma shell to QtQuick’s qqc2-desktop-style to address that issue. Union has been in development for a long time, as it’s a difficult effort, but progress is definitely being made. KDE is currently already at the stage where they’re adapting the current Breeze QStyle to better match the Union Breeze’s style, to make the future transition from the separate QStyle/qqc2-desktop-style to the unified, single Union Breeze as seamless as possible. These changes are currently available for testing in the master branch, and will be part of Plasma 6.7 or 6.8. As a KDE user who likes to have a more classic, late ’90s theme, but who also values consistency above all else, Union is something I’m very much looking forward to. While it certainly won’t fix every single issue right away, it will definitely address the biggest issues with theming on KDE. I’m incredibly happy that KDE’s developers still consider theming and user choice and agency over what pixels appear on their screen important enough to undertake an effort like Union.
Only a few days ago we talked about the concept of client-side decorations, and how more and more desktop environments and operating systems – specifically GNOME and macOS – are putting more and more buttons, menus, and other widgets inside title bars. How about we take this concept a step further? This hides the AppMenu icon button and draws the menu in the title bar. It also includes a search button to find actions. It works on both X11 and Wayland. On Wayland, GTK apps don’t export the menu in a KDE-friendly way. You need to start them with GDK_BACKEND=x11 environment variable or you can try the experimental appmenu-gtk-module-wayland (GTK3 only). ↫ material-decoration’s GitHub page So this little tool allows you to add an application’s menu bar (file, edit, view, etc.) to the titlebar of a KDE application. The way it works is that it adds an optional widget to KDE’s System Settings > Colors & Themes > Window Decorations > Configure Titlebar Buttons…, alongside regular staples like close, minimise, maximise, etc. You can then freely add said “menu bar” to the title bar of your applications. There’s some configuration options, too. For instance, you can disable the search button, or turn the entire menu bar into a hamburger menu instead. It looks weird, and I’m definitely not the target audience for this, but I do find it intriguing. I’ve never seen anything like this before, and I doubt many people will like it since it takes up so much space if you don’t opt to use the hamburger menu option. That being said, I’m fairly sure KDE and Kwin allow you to edit the titlebars of specific applications and specific windows, which does open some interesting possibilities for, say, applications or windows which you always have maximised or whatever. There’s an AUR package for Arch users, but everyone else will have to build it themselves.
KDE Plasma 6.6 has been released, and brings with a whole slew of new features. You can save any combination of themes as a global theme, and there’s a new feature allowing you to increase or decrease the contrast of frames and outlines. If your device has a camera, you can now scan Wi-F settings from QR codes, which is quite nice if you spend a lot of time on the road. There’s a new colour filter for people who are colour blind, allowing you to set the entire UI to grayscale, as well as a brand new virtual keyboard. Other new accessibility features include tracking the mouse cursor when using the zoom feature, a reduced motion setting, and more. Spectacle gets a text extraction feature and a feature to exclude windows from screen recordings. There’s also a new optional login manager, optimised for Wayland, a new first-run setup wizard, and much more. As always, KDE 6.6 will find its way to your distribution’s repositories soon enough.
If you’re a developer and use KDE, you’re going to be interested in a new feature KDE is working on for KDE Linux. In my last post, I laid out the vision for Kapsule—a container-based extensibility layer for KDE Linux built on top of Incus. The pitch was simple: give users real, persistent development environments without compromising the immutable base system. At the time, it was a functional proof of concept living in my personal namespace. Well, things have moved fast. ↫ Herp De Derp Not only is Kapsule now available in KDE Linux, it’s also properly integrated with Konsole now. This means you can launch Kapsule containers right from the new tab menu in Konsole for even easier access. They’re also working on allowing users to easily launch graphical applications from the containers and have them appear in the host desktop environment, and they intend to make the level of integration with the host more configurable so developers can better tailor their containers to their needs.
KDE’s Nate Graham has published a status update about KDE Linux, the KDE project’s new immutable Linux distribution, intended to be the “KDE OS” showcasing the best of the KDE community. While the project is approaching the beta stage, it’s currently still in alpha, but from what I gather from friends who are using it, the alpha label might actually be like how Haiku is supposedly still alpha: intended more to scare people away for now than ana ctual descriptor of the state of the software. Recently, KDE Linux enabled delta updates, possibly dramatically reducing the size of updates. Before delta updates were enabled, a system update would come in at 7GB, while with delta updates enabled, it’s gone down to 1-2GB. In addition, plasma-setup and plasma-login-manager have been added to KDE Linux, which are, respectively, a first-run setup assistant and KDE’s new login manager. This new login manager was forked from SDDM, and specifically targets Wayland, and comes with much deeper Plasma integration than SDDM. Note that SDDM will remain available for platforms that don’t use Wayland. KDE Linux has also massively improved its hardware support, and the list is long; from scanners to fancy multi-button mice, from Android devices to professional audio devices, and much more. Performance has been improved as well, the boot manager menu will no longer be shown at every boot but only when needed, the wireless regulatory domain is now properly set and managed, and much, much more. I’m keeping an eye on KDE Linux as a possible replacement for my Fedora KDE installations if Fedora ever loses the plot, even if it’s an immutable distribution relying on Flatpak. I’m a KDE user, and I want the latest and greatest the KDE community has to offer without going through an distributor.
KDE developer Herz published a detailed look at the immense amount of work they’ve done cleaning up the developer onboarding documentation for KDE. All that just to say that I’m finally content with the state of beginner onboarding docs in our KDE Developer Platform. That is to say, all the beginner docs fixes I wanted to add to Develop are either already there or have merge requests ready or almost ready. ↫ Herz at rabbitictranslator.com Judging by the article, KDE’s developer documentation really were in need of major work, and it’s great to see that thankless task being done. One of the areas where KDE lags behind GNOME is that the latter has a more vibrant application ecosystem, with tons of great GNOME applications under active development. Now, I’m not saying it’s the state of KDE’s documentation is the sole reason for this, but I’m sure it wasn’t helping either. Improving documentation is not a particularly glamorous task, but it’s vitally important nonetheless.
The KDE project has made the call. Well folks, it’s the beginning of a new era: after nearly three decades of KDE desktop environments running on X11, the future KDE Plasma 6.8 release will be Wayland-exclusive! Support for X11 applications will be fully entrusted to Xwayland, and the Plasma X11 session will no longer be included. ↫ The Plasma Team They’re following in the footsteps of the GNOME project, who will also be leaving the legacy windowing system behind. What this means in practice is that official KDE X11 support will cease once KDE Plasma 6.7 is no longer supported, which should be somewhere early 2027. Do note that the KDE developers intend to release a few extra bugfix releases in the 6.7 release cycle to stabilise the X11 session as much as possible for those people who are going to stick with KDE Plasma 6.7 to keep X11 around. For people who wish to keep using X11 after that point, the KDE project advises them to switch to LTS distributions like Alma Linux, which intend to keep supporting Plasma X11 until 2032. Xwayland will handle virtually all X11 applications running inside the Wayland session, including X11 forwarding, with similar functionality implemented in Wayland through Waypipe. Also note that this only applies to Plasma as a whole; KDE applications will continue to support X11 when run in other desktop environments or on other platforms. As for platforms other than Linux – FreeBSD already has relatively robust Wayland support, so if you intend to run KDE on FreeBSD in the near future, you’ll have to move over to Wayland there, as well. The other BSD variants are also dabbling with Wayland support, so it won’t be long before they, too, will be able to run the KDE Plasma Wayland session without any issues. What this means is that the two desktop environments that probably make up like 95% of the desktop Linux user base will now be focusing exclusively on Wayland, which is great news. X11 is a legacy platform and aside from retrocomputing and artisanal, boutique setups, you simply shouldn’t be using it anymore. Less popular desktop environments like Xfce, Cinnamon, Budgie, and LXQt are also adding Wayland support, so it won’t be much longer before virtually no new desktop Linux installations will be using X11. One X down, one more to go.
As part of the KDE Plasma 6.5 release, we also got a new release of Plasma Mobile. As there’s a lot of changes, improvements, and new features in Plasma Mobile 6.5, the Plasma Mobile Team published a blog post to highlight them all. The biggest improvement is probably the further integration of Waydroid, a necessary evil to run Android applications until the Plasma Mobile ecosystem manages to become a bit more well-rounded. Waydroid can now be managed straight from the settings application and the quick settings dropdown. Furthermore, the lockscreen has been improved considerably, there’s been a ton of polish for the home screen and the user interface in general, the quick settings panel can now be customised to make it fit better on different form factors, the first early test version of the new Plasma mobile keyboard is included, and so much more. This is definitely a release I would want to try out, but since I don’t have any of the supported devices, I’m a bit stuck. This is, of course, one of the two major problems facing proper mobile Linux: the lack of device support. It’s improving due to the tireless work of countless volunteers, but they’re always going to be swimming upstream. The other major problem is, of course, application availability, but at least Waydroid can bridge the gap for the adventurous among us.
I think most of us are aware that compositors use multiple planes to render our user interfaces, and in the case of KDE’s Kwin specifically, they use two planes – one for the user interface, and one specifically for the mouse cursor. Kwin developer Xaver Hugl has been working on changing Kwin to use more than just two planes, and it turns out this delivers some considerable power use reductions and thus battery life improvements. So, when can you use these changes and test them? Due to various driver issues when trying to use overlays, like slow atomic tests on AMD as well as display freezes on some AMD and NVidia GPUs, this feature is still off by default. However, if you want to experiment anyways or attempt to fix the drivers, starting from Plasma 6.5, you can set the KWIN_USE_OVERLAYS environment variable to enable the feature anyways. If you test it, please report your findings! If there’s problems in the drivers, we’d like to know and have bug reports for the GPU vendors of course, but also if things work well that would be nice to hear. ↫ Xaver Hugl Leave it to Linux graphics-related developers to uncover driver bugs in graphics drivers.
KDE is on a roll lately, and keeps on rolling with today’s release of KDE Plasma 6.5. As the project itself notes, this release focuses on relatively small improvements, refinements, and other niceties, without making any massive changes. With Linux desktops taking accessibility more seriously lately than ever before, I want to focus on the accessibility improvements first. The Orca screen reader now announces caps lock state changes, and screen readers will now describe the Shortcuts and Autostart pages more optimally. There’s also a new grayscale colour filter for people sensitive to colours, developers have done Plasma-wide pass to eliminate bright flashes in the UI, and the desktop zoom feature will now follow the text insertion point as it moves around the UI. Keyboard navigation in various parts of Plasma have been improved, and a few other small changes have been to improve accessiblity. Other changes include rounded bottom window corners (which can be turned off), automatic and scheduled theme and wallpaper transitions (e.g. from light to dark), and a new and improved applications permissions settings panel. A small new feature that will be a massive time saver for me is the ability to favourite items in your clipboard history, so they remain available over time. I reuse certain copied bits of text all the time, and I can’t wait to start using this little addition. Remote desktop has also received a ton of love in Plasma 6.5. You can now share your clipboard, and you no longer need to create dedicated RDP user accounts; you can just log in with your normal account credentials as you would expect you could. Plasma’s Discover application, used for application and update management, has seen major work to improve its performance – very welcome, for sure. Of course, there’s a ton of other changes, too. KDE Plasma 6.5 will find its way to your distribution soon enough.
Akademy 2025, KDE’s yearly developer and community event, this year held in Berlin, Germany. Amid all the various talks and informal meetings, the KDE project also officially unveiled the first alpha release of KDE Linux, a project they’ve been working on for a while now. KDE Linux will serve as a “reference implementation” of KDE Plasma and official KDE applications, for use by developers and regular users alike. KDE Linux will have a quick update cycle, to ensure its users always have the latest releases of KDE Plasma and various other KDE applications and related technologies. It may, however, not be as optimised as other KDE distributions, and the intent of KDE Linux is not to compete with or replace other distributions. The goal is to show other distributions how KDE itself intends for its software to be presented. So, what is KDE Linux based on? KDE Linux is an “immutable base OS” Linux distro with a core created using Arch Linux packages — but it should not be considered part of the Arch family of distributions. Some very fundamental Arch technologies (like the pacman package manager!) have been removed. KDE software is then built on top of this core using KDE’s homegrown development tools and Flatpak. KDE Linux leans on Systemd for a great deal of functionality. Updates are atomic and image-based, with the last 5 OS images cached on disk for safety. Only the Wayland session is supported. Apps primarily come from Flatpak and Snap. ↫ KDE Linux’ website The overview of the KDE Linux’ architecture provides some more details. I like that it eschews GRUB in favour of systemd-boot (GRUB should be retired in this, the year of our lord 2025) and relies on systemd-sysupdate for operating system updates. Of note is that the mention of Snap is merely for convenience’s sake as an option; Snap is not a requirement, nor are any Snap packages installed by default. Since this is the first alpha release, expect bugs and issues, and don’t use it on any production machines until they’re a few more releases in.
Apple, back in June of this year: This is our broadest software design update ever. Meticulously crafted by rethinking the fundamental elements that make up our software, the new design features an entirely new material called Liquid Glass. It combines the optical qualities of glass with a fluidity only Apple can achieve, as it transforms depending on your content or context. ↫ Apple’s WWDC press release Today, iGerman00, detailing their merge request for adding Liquid Glass effects to a KWin plugin: Added a Concave (lens) refraction mode for a more “Liquid Glass” look, it’s a lot closer than the current implementation. Also added a Refraction Corner Radius slider (0–200px, 30 steps) to shape the SDF independently of edge size. Because the concave implementation is a bit “weaker”, I’ve raised the maxima to 30 for the relevant sliders. Added some UI logic for irrelevant options between modes. ↫ iGerman00’s merge request One of the world’s wealthiest companies, outdone by a random “amateur hobbyist developer“. Not only does this merge request recreate Apple’s Liquid Glass effects, it does so with a detailed settings panel to control every aspect of the effect, something Apple obviously won’t allow you to do. “Only Apple” my ass.
You click a link in your chat app, your browser with a hundred tabs comes to the front and opens that page. How hard can it be? Well, you probably know by now that Wayland, unlike X, doesn’t let one application force its idiot wishes on everyone else. In order for an application to bring its window to the front, it needs to make use of the XDG Activation protocol. In essence, an application cannot take focus, it can only receive focus. In the example above, your chat app would request an XDG Activation token from the compositor. It then asks the system to open the given URL (typically launching the web browser) and sends along the token. The browser can then use this token to activate its window. ↫ Kai Uwe After explaining exactly how this mechanism works, KDE developer Kai Uwe details the issue that not every application yet properly supports the XDG Activation protocol, and some that do have bugs that, say, might make an application discard its token too early. In other words, it’s time to start testing. You’ll need to use the latest git master brach of KWin, and enable set the “Focus Stealing Prevention” option in Window Management to “Extreme”. When set to “Extreme”, KWin will exclusively activate windows that request activation with a valid token. They’ve already found and fixed a number of issues in KDE using this method, but more are bound to found, particularly in third-party applications. They’re planning on turning on KWin’s focus stealing prevention on Wayland with forgiving settings at first, but increase the strictness of the feature as time progresses and issues are fixed.
Akseli Lahtinen, a KDE developer who works on various components of the KDE Plasma desktop environment, had never actually made his own KDE application from scratch – until now. He created a to-do application, called KomoDo (available on Flathub), that makes use of the todo.txt format, and penned a blog post detailing his experiences. Of course, as a KDE developer, he’s got a head start and access to people who know their stuff, but that doesn’t mean it was a walk in the park. If you’re thinking of developing a KDE application, Lahtinen’s blog post is a great place to start.
Did you know KDE has a television-focused user interface? It’s been languishing for a while now, but a recent week-long effort by KDE developer Devin has brought a lot of new life into the project. I have been a long time Plasma Mobile contributor, but I have always had a keen interest in having Linux on my TV! I have noticed that in the past few months, the Plasma Bigscreen project has had some interest from people wanting to contribute, but there have not been any active KDE developers working on the project. Since I have some time off school (having just graduated university), I decided to take a swing at improving the project for a week. ↫ Devin, KDE developer It turned out to be one hell of a productive week, because the list of improvements achieved in that one week is kind of amazing. Lots of overhauls of the visual design, a new search view, complete redesign of the settings panels, and a lot more. The idea of running a KDE Plasma-based interface on my TVs sounds incredibly appealing, and I hope the project can make even more progress.
A new version of Plasma is here, and it feels even more like /home, as it becomes smoother, friendlier and more helpful. Plasma 6.4 improves on nearly every front, with progress being made in accessibility, color rendering, tablet support, window management, and more. ↫ KDE Plasma 6.4 release announcement KDE Plasma 6.4 comes with a big improvement in window and virtual desktop management, allowing you to create entirely custom tiled configurations per virtual desktop. Accessibility was another focus of this release, as we talked about a few weeks ago, bringing number pad mouse pointer navigation, improved desktop zoom, screen readers improvements, better contrast i the dark theme, tons of little legibility improvements across the desktop environment and its applications, and more. Furthermore, there’s now finally a dedicated page in Settings for animations, so you no longer have to dig your way through the oddly placed and obtuse Desktop Effects page. Notifications have been improved as well, with new additions like a speed graph in file transfer notifications or Plasma notifying you when you’re trying to use a muted microphone input. KRunner can now visualise colours when searching for a hex code, Spectacle has received some love, various widgets have been touched up, and much more. There’s a brand new HDR wizard, support for Extended Dynamic Range, and the addition of the P010 video color format. System Monitor will now show usage information for Intel and AMD GPUs, and Info Center will show raw sensor data from the sensors in your device. There’s a ton more, as this is a fairly major release. You can download and compile KDE Plasma 6.4 now, or just wait a few days until it lands in your distribution’s repository.
I love the Kate Text editor. I use it for pretty much all the programming projects I do. Kate has been around for long time now, about 20 years! At least earliest blog post for it I could find was written in 2004. I wanted to go over my workflow with it, why I like it so much and hopefully get more people to try it out. ↫ Akseli Lahtinen Programmers and developers tend to be very set in their ways and have their preferred workflows – which profession doesn’t, honestly – and since there’s such a wide variety of developer and programming tools out there, it feels like every single developer’s workflow and setup is entirely unique. Akseli Lahtinen, KDE developer and allround awesome person, details his setup using Kate, the venerable and feature-rich text editor from the KDE project. As someone who can’t program, I can’t really compare his workflow to my own, but what I found interesting while reading his post is that there’s quite a bit of overlap between my previous work as a translator and his work as a developer. While the contents of each individual view inside his Kate window are obviously different, the setup of windows and tools I had when translating looked very similar. This shouldn’t be surprising to me – after all, both translating and developing requires multiple work surfaces, language plugins, formatting tools, tons of keyboard shortcuts, and a whole load of browser tabs, PDF files, and other documents to find just the right translation or the perfect term, as well as a ton of background to make sure you understand the topic you’re translating about. Y’all have no idea how much I know about the deepest complex inner-workings and processes of some of the largest organisations in the world, just because I needed to study them and had access to their internal documentation and software. I also read and studied way too many complex contracts, European law, and technical studies into medicine and healthcare treatments, and I guess developers and programmers do the same thing – just focusing on different subjects. What’s the best way to do this thing in the programming language I’m using? How does this library I want to integrate work? What are the API endpoints for this service I want to use? It’s really not that different from translating, and that never really dawned on me until now.
KDE’s login manager, SDDM, has its share of problems, and as such, a number of KDE developers are working on replacement to fix many of these long-standing issues. So, what exactly is wrong with SDDM as it exists today? With SDDM, power management is reinvented from scratch with bespoke configuration. We can’t integrate with Plasma’s network management, power management, volume controls, or brightness controls without reinventing them in the desktop-agnostic backend. SDDM was already having to duplicate too much functionality we have in KDE, which was very frustrating when we’re left maintaining it. ↫ David Edmundson On top of that, theming is also a big issue with SDDM, as it doesn’t adopt any of the existing Plasma themes, wallpapers, and so on, forcing users to manually makes thse changes for SDDM, and forcing theme developers to make custom themes just for SDDM instead of it just adopting Plasma’s settings. The new login manager they’re working on will instead make use of existing Plasma components and be brought up like Plasma itself, too. For now, the SDDM replacement is roughly at feature parity with SDDM, but it’s by no means ready for widespread adoption by distributions or users. Developers interested in trying it out can do so, though, and as it mostly looks like the existing default SDDM setup, you won’t even notice anything in day-to-day use.
One of the biggest behind-the-scenes changes in the upcoming Plasma 6.4 release is the split of kwin_x11 and kwin_wayland codebases. With this blog post, I would like to delve in what led us to making such a decision and what it means for the future of kwin_x11. ↫ Vlad Zahorodnii For the most part, this change won’t mean much for users of KWin on either Wayland or X11, at least for now. At least for the remainder of the Plasma 6.x life cycle, kwin_x11 will be maintained, and despite the split, you can continue to have both kwin_x11 and kwin_wayland installed and use them interchangeably. Don’t expect any new features, though; kwin_x11 will get the usual bug fixes, some backports, and they’ll make sure it keeps working with any new KDE frameworks introduced during the 6.x cycle, but that’s all you’re going to get if you’re using KDE on X11. There’s one area where this split might cause problems, though, and that’s if you’re using a particular type of KWin extension. While KWin extensions written in JavaScript and QML are backend agnostic and can be used without issues on both variants of KWin, extensions written in C++ are not. These extensions need to be coded specifically for either kwin_x11 or kwin_wayland, and with Wayland being the default for KDE, this may mean some of these extensions will leave X11 users behind to reduce the maintenance burden. It seems that very few people are still using KDE on X11, and kwin_x11 doesn’t receive much testing anymore, so it makes sense to start preparations for the inevitable deprecation. While I think the time of X11 on Linux has come and gone, it’s unclear what this will mean for KDE on the BSDs. While Wayland is available on all of the BSDs in varying states of maturity, I honestly don’t know if they’re ready for a Wayland-only KDE at this point in time.
Speaking of KDE, Plasma 6.3 has been released. It brings with it a ton of improvements aimed at digital artists, such as much improved management and configuration of drawing tablets. You can now map an area of the tablet’s surface to a part of the screen, change the functions of stylus buttons, customise the pressure curve and range of a stylus, and much more. The entire settings panel for drawing tablets has also been redesigned to make it easier to find what you’re looking for. Plasma 6.3 also completely overhauls KWin’s fraction scaling. Fractional scaling in KWin will not try to snap everything to your display’s pixel grid, to reduce blurriness and make everything look sharper. KWin’s zoom effect also makes use of these improvements, making for a pixel-perfect zoom feature with a pixel grid overlay, which is great for artists and designers. This will be a very welcome improvement for people using e.g. 125% or 150% scaling on their displays. Hardware monitoring is much improved too, with System Monitor showing more information while using fewer resources, and KDE users on FreeBSD can now see GPU statistics too. There’s also a ton of small additions that are still quite welcome, like opening the menu editor instead of a properties dialog when clicking on Edit Application in a launcher menu’s context menu, the ability to clone panels, an option to turn of symbolic icons in Kickoff, a “Show Target” option in the context menu of symbolic links, and a lot more. KDE Plasma 6.3 will find its way to your distribution of choice soon enough.