nilFM
nerdblog - musings, art, etc. of Derek Stevens: drkste@zoho.com

Plasma: Desktop for 2020

[download image]

"The Year of the Linux Desktop" is a buzzphrase devoid of meaning, for someone like me who's been using Linux on their machines exclusively for years (excepting a year-long FreeBSD setup, a plan9 test setup, and a short run with OpenBSD), but I'm bringing in 2020 with a new perspective on the Linux desktop -- that of a user of KDE Plasma.

A bit of history with regard to my forays into Linux desktop computing -- my first Linux distro was Xubuntu back in 2009 or 2010. I loved XFCE and its customizability, and before long I was experimenting with other window managers like Fluxbox, Openbox, WindowLab, Rio, and DWM. Indeed, I tended to prefer these standalone window managers over full-featured desktop environments like XFCE, GNOME, or KDE. I cherished the lean RAM requirements, the simple startup scripts, and the cobbled-together desktop experiences. On the other hand, when I had to install or build packages out of the GNOME or KDE environments, I was appalled at the huge dependency lists and long build times; and when I used GNOME in the context of a friend's machine I was less than impressed with the rigidity and awkwardness that it presented me with.

Fast forward to now; My primary Linux distribution is Void Linux, and in November the Void Linux repos finally caught up with the upstream in terms of recent changes to the Pango font-rendering library, which all GTK applications rely on to display text. This change was regarding freetype and dropped support for all bitmap fonts except Opentype format fonts. When I rebooted my machine after the update I was greeted by those curious looking Unicode squares with quartets of hex characters in them.

At this point, I was using a chimera of an Openbox setup that I had fine-tuned over the years, with some WindowMaker style dockapps and Plank, some helper scripts qwopTiler and rio.sh, and some of my custom themes -- Urchin for Openbox and Steppenwolf-dark for GTK. This wasn't the first time the GTK stack had broken on me in a significant way. In GTK 3.24.4 (if I remember correctly), the ABI had broken so that themes written for earlier versions didn't display button backgrounds correctly, instead rendering them as pure white, which made dark themes unusable.

I was ticked, but I had seen that KDE5's Plasma Desktop was pretty popular on r/unixporn and you could do some pretty cool things with it, and I'd been meaning to find a new window maanger to replace Openbox as my daily driver (Openbox hasn't been in development since 2016, and my experimental window manager Ryudo lacks a certain polish; XFCE/XFWM is great but the GTK base is part of the issue here). So I took the plunge and did a xbps-install -Su kde5 kde5-baseapps latte-dock.

I was skeptical I would enjoy the experience, especially since my only previous usage of the full Plasma environment was on a university machine running RedHat and for whatever reason the Plasma session was ungodly slow. But I gave myself time to set up my panels, dock, and keyboard shortcuts, do some theming (I ported Urchin to KWin/Aurorae and made a QT colorscheme for Steppenwolf-dark), and get comfortable and was pleased with the results, which you see above.

First, the pros:
• KDE5 is an active project in constant development, and its window manager is also a Wayland compositor, so looking to the future I can expect my setup will be supported for a long time.
• Everything in KDE is vector graphics, meaning the desktop is device agnostic and crisp on any screen resolution.
• Coming from chimera setups on standalone window managers, the unified configuration manager in KDE is so refreshing, and much more full-featured than the one in XFCE. You can download themes for each environment component from the configuration manager.
• The default notification plasmoids form a sane set (storage, power management, volume, network interfaces) and work out of the box. My laptop's extended keys (volume, brightness control) work out of the box as well.
• QT colorschemes and KWin aurora themes are easy to create and modify, once you know where they live and where the cache stores are.
• Latte dock, KRunner, and the Global Menu plugin offer a smooth and consistent OSX-like experience (working with Macs 90% of the time at my day job, I've come to appreciate some of OSX's behavior).
• KWin has per-application compositing rules (so my terminals and my Acme window can have the same transparency settings!) and extensive window control support (so I can have quick tiling, natively!).
• The Dolphin file manager is very customizable, with fully editable toolbars and keyboard shortcuts, and embedded Konsole sessions.
• No Pango dependencies means I can use any bitmap fonts I want, anywhere I want (although I now only use them in Konsole and Acme).
• Alt-Tab has never looked so good!
• Very convenient and intuitive multi-monitor setup.

The cons:
• Unorthodox locations for theme storage. ~/.local/share/aurorae/themes and ~/.local/share/qt-colorschemes are a bit more obfuscated than ~/.themes/
• KWin's theme caching made it very confusing to build my theme until I learned where the cache lives: ~/.cache/kwin/qmlcache. I have to delete the cache every time I update my theme.
• The KDE ecosystem, while coherent and cohesive and competent, is split into many different packages with a large dependency map. Overall disk space of the installed system is still low, all things considered.
• Higher memory and CPU consumption than XFCE or a chimera setup -- don't try Plasma on only 1 or 2 gigabytes of RAM.
• Baloo (the search indexer) eats all your CPU time on the default settings. At least it needs to be told not to index file contents, or in my case I disabled it entirely.
• Akonadi (the mail contacts database indexer) also eats a lot of CPU time. This makes KMail next to useless as a regular mail client.
• No out of the box support for a custom root menu. The plugin I found on sourceforge leaves a lot to be desired, and I don't use it.
• Why aren't Desktop/Workspace settings in the configuration manager with everything else?
• Not really here or there, but there is way too much vanilla OSX cloning in the KDE theme ecosystem. I'll fully admit I took a lot of inspiration from OSX with my Urchin theme and my use of Plank/Latte, but I tried to make something fresh and spiritually more akin to the original NeXTSTEP.

Void Linux quickly reverted their Pango package to an older version that still supported Type1 bitmap fonts, and I still use some GTK apps -- Firefox, Thunderbird, GIMP, Inkscape, LXDM, etc; but I keep my fonts TrueType to steel for the inevitable reversion to post-apocalyptic Pango reversion in Void Linux. I still love the elegance of a standalone window manager with simple init scripts -- I keep Ryudo and Fluxbox sessions in my LXDM session list. But my machines as of now have the hardware to handle Plasma -- a stable, coherent, currently-developed, and forward-looking environment -- and I'm enjoying it.

So, with my setup solidified and tested over the past couple months, and the pros and cons of the environment weighed out, I can say KDE5's Plasma Desktop is my new daily driver on my desktop and laptop for the foreseeable future.

If you haven't, and you have a machine that isn't a potato, give it a try. You might like it!