Yesterday I summarized some of my favorite new features, both big and small, added to KDE’s software catalog in 2019. Today I’d like to talk about the major features and improvements I expect for 2020. Note that this is not an official planning document, it’s just what I anticipate happening and plan to push for and help implement. Without further ado…
These features are pretty much guaranteed, as they’re almost done or even in the process of landing:
FUSE mounts to better support accessing remote locations in non-KDE apps
Not mounting remote locations has been a longstanding deficiency in the KIO library that does file I/O throughout KDE software. Without this feature, users of non-KDE 3rd-party apps experience frustration when opening large files or streaming videos located on remote locations, when saving changes to those files, and when trying to to File > Save As to make a copy alongside the original.
Throughout much of 2019, a FUSE mount solution has been in development that alleviates these issues! You may have read it about on the blog of Alexander Saoutkin, one of the principal developers working on the feature.
A truly enormous amount of work has already been done, and at this point only a few more bits are needed before we can formally roll it out:
- KIO::Open support in KIO-FUSE itself
- File truncation support in KIO to support true random-access reading
- Adoption of this file truncation support for Samba and SFTP protocols
- On-the-fly translation of network URLs into FUSE paths to ensure seamless mounting of accessed network resources
When the patches for these improvements land, we will have full feature parity with the FUSE-based GVFS system that GNOME uses and the mount-based system in macOS! The patches are in progress and I expect them to all land in the next two or three months.
Privilege escalation in KIO and Dolphin
I’ve been promising this for years, talking about how it’s 90% done, then 99%, then 99.9%… you get the idea. I know, I know, I’m the boy who cried wolf at this point! Well, this time we really are on the cusp of victory. There is only a single patch left before we can formally turn it on! Once this happens, you will finally be able to create, move, rename etc. root-owned files in Dolphin without needing to run Dolphin as root or using a hacky extension.
Improved Samba share discovery in Dolphin
We have a patch that implements the WS-DISCOVERY protocol in Dolphin, allowing it to find Windows Samba shares on your local network, which are currently invisible. This has been a longstanding problem, but it’s now finally getting fixed! I expect this patch to land in the next few months, in time for Dolphin’s 20.04 release.
Auto-rotation for tablets, convertibles, and other hardware with rotation sensors
There’s an absolutely enormous patchset that implements this much-awaited feature. More than half of the patches have already landed, so the rest aren’t far behind. I have my doubts that this will make it into Plasma 5.18, but 5.19 is almost certain.
These features are likely, but not guaranteed:
Implement more of the proposed visual design changes to the Breeze style and KDE apps
The KDE VDG now has an exhaustive plan and sets of mockups for how we’d like to evolve Breeze, Plasma, and KDE apps in the near future: https://phabricator.kde.org/T10891. Check out the dependency graph! Here are some examples:
Pretty hot stuff, huh!?
Bits of it are already getting done. In 2019, we completed a UI overhaul of Plasma and many apps’ configuration windows to use the Form Layout style and a sidebar UI redesign, both of which have been quite well received. And there’s a new SimpleMenu based on VDG mockups in the works, which we hope to replace Kickoff as the default.
I don’t know if everything here will get implemented, but I expect us to push forward with a lot of it!
Better wallpapers in the extra wallpapers repo
A lot of the wallpapers in the plasma-workspace-wallpapers repo (which is optional but installed by default in many KDE distros including Neon, Kubuntu, and Manjaro) are a bit long in the tooth. Thankfully, we have a patch queued up and ready to go that will replace them with modern, beautiful, 4K wallpapers. Unfortunately this patch is blocked by the lack of a wallpaper cache, which means if we replace a wallpaper that someone is currently using, they’ll see a black screen after they upgrade. Not very nice. We’d like to cache the current wallpaper so that this doesn’t happen. I’m hoping we land the cache feature early in 2020 so that the next Plasma release after it can get the improved wallpaper selection.
These features are less likely (bordering on unlikely), but could get in with enough development work!
Per-screen scale factors on X11
There’s a patch implementing this feature that has been rejected thus far because it was not technically correct with the way Qt handled scaling at the time. However Qt 5.14 implements some backend changes that would appear to make this possible. I can’t promise anything but I plan to investigate this to see if it’s something we can do once Plasma depends on Qt 5.14, or if it’s feasible to add the feature earlier than that with a bunch of ifdefconditionals in the code to only turn it on for people using Qt 5.14.
Inertial scrolling throughout Plasma and QML apps
In theory, this is easy-ish. In practice, there are a lot of moving parts. Preliminary work began a few weeks ago, but there’s a lot to do before we can make it all work. It’s on the workboard though!
Power/session controls on the lock screen
This is something needed for Plasma Mobile, and all the Plasma developers agree that it’s fine to have on the desktop too. Development has not yet started, but it might!
What do you think? Seems like a bunch of worthwhile stuff, right? I see these features and improvements as critical for my ultimate goal of making Plasma and KDE apps irresistible for hardware vendors to ship by default (most of them at least; better wallpapers are nice but not critical). I want to make our offerings so good, and for KDE in general to be such a good upstream, that companies trip over each other to put Plasma and KDE apps on their devices! I think ultimately that’s the best way to get our software in front of more users.
If this sounds exciting to you, please feel free to help out–especially for items in the “Likely” and “Moonshot” lists, which are less certain to happen without help. You can help out by testing patches, implementing mockups, hacking on the new features, etc. For more information, visit https://community.kde.org/Get_Involved. It’ll be interesting to check back at the end of 2020 to see how many of these projects have been completed. With your help… hopefully all of them!