The coronavirus pandemic frustratingly continued to spread misery this year, but one silver lining to this cloud was that keeping people at home meant lots of contributions to KDE! As a result this was an enormous year for KDE and all who use its software. Like I did last year, I’d like to mention some of my favorite big features and improvements from the past 12 months. Also like last year, what’s written here is just the tip of the tip of the iceberg, probably not even a tenth of a percent, and also a very selective look at just some of the software I use and follow on a regular basis. There’s a whole lot more at https://planet.kde.org!
We managed to accomplish all items from last year’s roadmap: a production-ready Plasma Wayland session (Fedora KDE even switched to using it by default!), fingerprint reader support, the Breeze Evolution finished up and landed, a new Kickoff, and text reflow in Konsole! But that’s not all; we also managed to finish up Polkit in KIO, which allows Dolphin and other KIO-using apps to request elevated privileges for editing files and folders you don’t own!
The big news this year was the Steam Deck: a handheld gaming console made by Valve that’s running KDE Plasma under the hood on a custom Arch-based Linux distro! Valve has been sponsoring improvement for Linux gaming up and down the stack, including KDE. This showcases the power of getting vendors to pick your software: they put their own engineering resources into making it even better!
But that’s not all: the new PineBook Pro also ships with Manjaro KDE by default!
As I mentioned earlier, I really think the Plasma Wayland session became production-ready this year. It’s still not a full replacement for the X11 session in all cases due to some remaining issues, especially for users of NVIDIA graphics hardware. But I expect those to diminish greatly in 2022.
2021 saw a truly monstrous number of bugfixes and quality of life improvement for Wayland session users, plus tons of new features, including support for Activities, GPU hot-plug, direct scan-out, setting the overscan and underscan, variable refresh rate/FreeSync/adaptive sync, DRM leasing, “Broadcast RGB” for the Intel GPU driver; the ability to choose, enable, and disable the virtual keyboard; a “Primary Monitor” setting like on X11; a new Activation protocol that will eventually let windows come forward when activated from other apps (once all toolkits and/or apps have opted into it); automatic DND mode when screencasting/sharing/recording; and animated transitions when rotating the screen.
As a result of all this improvement, I’m using the Plasma Wayland session full time now. And you know how picky I am!
Akademy 2021 was once again virtual, and went quite well. I was feeling kinda burned out at the time and didn’t give a talk this year, but you can watch recordings of everyone else’s talks and sessions here: https://www.youtube.com/c/KdeOrg/videos
KDE’s GitLab instance at https://invent.kde.org finally got pre-commit continuous integration, so now each merge request can be checked to make sure it compiles, that tests work, code quality doesn’t regress, and so on! Support is fairly basic right now but this should be improving over time.
In addition, https://bugs.kde.org got a major facelift and now look much nicer!
This year Plasma got tons of major new features, such as a microphone recording input level visualizer right there in the Audio Volume applet, adaptive panel transparency, support for the
power-profiles-daemon feature, two-click renaming in Folder View when using double-click (just like in Dolphin), and the ability to set the wallpaper from the context menu in Dolphin and Folder View!
Plenty of UI improvements landed too, including giving a blurred background to desktop widgets, a new better Digital Clock popup, multi-line text support in KRunner so that the Dictionary runner is now usable, inline help in KRunner, a
Meta+V shortcut to open the clipboard history popup, a
Meta+speaker mute shortcut to mute the microphone.
Oh and let’s not forget literally the most important thing of all: desktop widgets are no longer jaggy and aliased when rotated. Killer feature, right there.
This year KWin’s compositing code was rewritten for better performance and smoother animations, which has made a huge difference! It also gained support for the proprietary NVIDIA driver’s GBM backend.
A new “Overview” effect will replace the older Present Windows effect soon. In addition to Present Windows’ current functionality, it also shows virtual desktops and also lets you search using KRunner! It’s like half of GNOME shell, right in KWin. 🙂
Finally, KWin benefited from a few changes to its default settings, including opening new windows in the center of the screen (on whichever screen the cursor is located) and no longer making windows transparent while being moved or resized.
This was a big year for System Settings. It got a new Quick Settings page holding commonly-used settings, including a button to change the wallpaper, and a new accent color feature with accent-colored icons too! The Printers page gained support for browsing and adding network printers shared with Samba. We made a new Firewall page. The SDDM and Formats pages were rewritten in QtQuick for much greater user-friendliness and future hackability. Bluetooth adapter on/off status is now remembered across reboots by default and can be explicitly forced on or off. There were many search keyword improvements, making it easier to find System Settings pages by searching. And you can search in English even when using another language.
Many UI and UX improvements were made this year, including preventing you from doing anything that would uninstall Plasma, improving the comprehensibility of update issues, offering further help when a search doesn’t turn up something you know exists, letting you enable and disable Flatpak and distro repos, and letting you install locally-downloaded Flatpak apps.
Discover gained support for “offline updates”, and several distros have opted into it (KDE Neon and Fedora KDE, at a minimum), but you can go back to interactive updates if you want.
Applications & Frameworks
All QtWidgets-based apps implemented KCommandBar, a ludicrous-mode productivity enhancement that shows a command palette when you hit
Ctrl+Alt+I and lets you search and run any action in the app!
Another major new UI element for QtWidgets apps is KHamburgerMenu, which lets small and medium-sized apps for which a full menubar is overkill to opt into a simple hamburger menu. Several apps have already opted in, though this is user-configurable and you can turn it off if you prefer the menubar!
In addition, many apps now have expandable tooltips that show you more information when you press the
Finally, a variety of apps now have better default window sizes.
Dolphin and file management
In addition to the aforementioned Polkit-in-KIO project being merged, Dolphin now lets you hit
tab/shift-tab while renaming a file to quickly start renaming the next or previous item. the up and down arrow keys also work in Details view! And now its entire context menu is configurable, so you can customize it to your heart’s content.
This year Elisa gained a mobile interface for its Plasma Mobile and Android packages. It also lets you rate songs inline without having to go to the metadata window, and use a “Favorite”/”Not favorite” style for ratings if you don’t like 0-5 stars. It also has a responsive two-column Now Playing page and lets you drag-and-drop music from the file manager to the playlist sidebar.
Gwenview got a major UI overhaul this year, including adopting KHamburgerMenu and showing it by default instead of the menubar, a new toolbar layout, a prettier sidebar, and, more controversially, the replacement of Fit/Fill/100% buttons with a zoom combobox and the addition of a background color chooser to the status bar. It also gained a Print Preview feature and its Resize feature now shows you the expected new file size. Finally, it now inherits the sort order from Dolphin when Dolphin is used to open an image in Gwenview.
Spectacle now includes more annotation tools and has the ability to annotate an already-taken screenshot from the notification or the command-line. And it also remembers the last-used capture mode for its automatically taken-screenshot on launch by default, and can be configured to take no screenshot at all. Finally it now respects the last-used values of “include mouse pointer” and “include window titlebar and borders” when taking screenshots using global shortcuts.
Ark got a nice welcome screen.
Kalendar was created and is amazing already!
KCalc gained a history view and its main window can now be resized.
Konsole got support for changing the app’s color scheme independent of the rest of the system.
NeoChat became amazing this year, and is almost a full replacement for Element–lacking only Encrypted chat support, which is being worked on!
Okular got KHamburgerMenu support, which is off by default for now but you can opt-in by hiding the menubar.
Partition Manager doesn’t create new filesystems as root anymore.
And remember, this is just a subset of a subset! KDE has over a hundred other apps which you can find out about at https://apps.kde.org. Next year promises to be very big for KDE. More about that tomorrow!