KDE: A Nice Tiling Envieonment and a Surprisingly Awesome DE

I recently wrote that managing an external display on Linux shouldn’t be this hard. I went down a path of trying out some different options before finally landing at an unexpected place: KDE. I say “unexpected” because I find tiling window managers are just about a necessity.

Background: xmonad

Until a few months ago, I’d been using xmonad for well over a decade. Configurable, minimal, and very nice; it suited me well.

However, xmonad is getting somewhat long in the tooth. xmobar, which is commonly used with it, barely supports many modern desktop environments. I prefer DEs for the useful integrations they bring: everything from handling mount of USB sticks to display auto-switching and sound switching. xmonad itself can’t run with modern Gnome (whether or not it runs well under KDE 5 seems to be a complicated question, according to wikis, but in any case, there is no log applet for KDE 5). So I was left with XFCE and such, but the isues I identified in the “shouldn’t be this hard” article were bad enough that I just could not keep going that way.

An attempt: Gnome and PaperWM

So I tried Gnome under Wayland, reasoning that Wayland might stand a chance of doing things well where X couldn’t. There are several tiling window extensions available for the Gnome 3 shell. Most seemed to be rather low-quality, but an exception was PaperWM and I eventually decided on it. I never quite decided if I liked its horizontal tape of windows or not; it certainly is unique in any case.

I was willing to tolerate my usual list of Gnome problems for the sake of things working. For instance:

  • The Windows-like “settings are spread out in three different programs and some of them require editing the registry[dconf]”. Finding all the options for keybindings and power settings was a real chore, but done.
  • Some file dialog boxes (such as with the screenshot-taking tool) just do not let me type in a path to save a file, insisting that I first navigate to a directory and then type in a name.
  • General lack of available settings or hiding settings from people.
  • True focus-follows-mouse was incompatible with keyboard window switching (PaperWM or no); with any focus-follows-mouse enabled, using Alt-Tab or any other method to switch to other windows would instantly have focus returned to whatever the mouse was over.

Under Wayland, I found a disturbing lack of logs. There was nothing like /var/log/Xorg.0.log, nothing like ~/.xsession-errors, just nothing. Searching for answers on this revealed a lot of Wayland people saying “it’s a Gnome issue” and the trail going cold at that point.

And there was a weird problem that I just could not solve. After the laptop was suspended and we-awakened, I would be at a lock screen. I could type in my password, but when hitting Enter, the thing would then tend to freeze. Why, I don’t know. It seemed related to Gnome shell; when I switched Gnome from Wayland to X11, it would freeze but eventually return to the unlock screen, at which point I’d type in my password and it would freeze again. I spent a long time tracking down logs to see what was happening, but I couldn’t figure it out. All those hard resets were getting annoying.

Enter KDE

So I tried KDE. I had seen mentions of kwin-tiling, a KDE extension for tiling windows. I thought I’d try this setup.

I was really impressed by KDE’s quality. Not only did it handle absolutely every display-related interaction correctly by default, with no hangs ever, all relevant settings were clearly presented in one place. The KDE settings screens were a breath of fresh air – lots of settings available, all at one place, and tons of features I hadn’t seen elsewhere.

Here are some of the things I was pleasantly surprised by with KDE:

  • Applications can declare classes of notifications. These can be managed Android-style in settings. Moreover, you can associate a shell command to run with a notification in any class. People use this to do things like run commands when a display locks and so forth.
  • KDE Connect is a seriously impressive piece of software. It integrates desktops with Android devices in a way that’s reminiscent of non-free operating systems – and with 100% Free Software (the phone app is even in F-Droid!). Notifications from the phone can appear on the desktop, and their state is synchronized; dismiss it on the desktop and it dismisses on the phone, too. Get a SMS or Signal message on the phone? You can reply directly from the desktop. Share files in both directions, mount a directory tree from the phone on the desktop, “find my phone”, use the phone as a presentation remote for the desktop, shared clipboard, sending links between devices, control the phone media player from the desktop… Really, really impressive.
  • The shortcut settings in KDE really work and are impressive. Unlike Gnome, if you try to assign the same shortcut to multiple things, you are warned and prevented from doing this. As with Gnome, you can also bind shorcuts to arbitrary actions.
  • This shouldn’t be exciting, but I was just using Gnome, so… The panel! I can put things wherever I want them! I can put it at the top of the screen, the bottom, or even the sides! It lets all my regular programs (eg, Nextcloud) put their icons up there without having to install two different extensions, each of which handles a different set of apps! I shouldn’t be excited about all this, because Gnome actually used to have these features years ago… [gripe gripe]
  • Initially I was annoyed that Firefox notifications weren’t showing up in the notification history as they did in Gnome… but that was, of course, a setting, easily fixed!
  • There is a Plasma Integration plugin for Firefox (and other browsers including Chrome). It integrates audio and video playback, download status, etc. with the rest of KDE and KDE Connect. Result: if you like, when a call comes in to your phone, Youtube is paused. Or, you can right-click to share a link to your phone via KDE Connect, and so forth. You can right click on a link, and share via Bluetooth, Nextcloud (it must have somehow registered with KDE), KDE Connect, email, etc.

Tiling

So how about the tiling system, kwin-tiling? The out of the box experience is pretty nice. There are fewer built-in layouts than with xmonad, but the ones that are there are doing a decent job for me, and in some cases are more configurable (those that have a large window pane are configurable on its location, not forcing it to be on the left as with many systems.) What’s more, thanks to the flexibility in the KDE shortcut settings, I can configure it to be nearly keystroke-identical to xmonad!

Issues Encountered

I encountered a few minor issues:

  • There appears to be no way to tell it to “power down the display immediately after it is locked, every time” instead of waiting for some timeout to elapse. This is useful when I want to switch monitor inputs to something else.
  • Firefox ESR seems to have some rendering issues under KDE for some reason, but switching to the latest stable release direct from Mozilla seems to fix that.

In short, I’m very impressed.

45 thoughts on “KDE: A Nice Tiling Envieonment and a Surprisingly Awesome DE

  1. KDE connect has lots of promises, but after using it for a while, I stopped because it wasn’t very reliable. I would mostly use it to send links between my devices and it would often fail at that basic task, because the phone wouldn’t see the laptop or vice versa…

    it also takes precious power on the phone. not much, but it’s one of those things that needs to be on all the time and I have limited credits for apps like that on my phone…

    will definitely look at KDE again though, it’s been a looking time since I last did that!

  2. You might also like to look at https://github.com/esjeon/krohnkite which is an extension to kwin for improved tiling functionality. It adds more layouts, more keyboard shortcuts and generally makes kde feel more like a “real” tiling window manager (e.g. i3, dwm)

    I used it for a while until I recently switched to PaperWM which is also pretty nice.

  3. “Firefox ESR seems to have some rendering issues under KDE for some reason, but switching to the latest stable release direct from Mozilla seems to fix that.”

    — just wondering, what issues did you see? I’m on Arch Linux + KDE for years and I get some rendering glitches on FF lately (I think they started about half year ago). Sometimes the desktop background leaks through the FF window, and I have to move the mouse in that area and/or scroll, to make it go away. I’m not sure it’s a FF or KDE issue. Couldn’t find anything relevant on the interwebs.

    1. It’s a bit weird; mainly it is the occasional menu not appearing when clicked, tab that is entirely blank, old content showing back up. As if it’s not getting the message to refresh/redraw somehow. Is that the same as you were seeing?

      1. Yes, it appears to be a repaint/refresh problem, but I’m not seeing the issue with the menu or empty tab. Sometimes when I scroll or just move the mouse around, a rectangular fragment of the browser window simply disappears and the content of the window beneath (or desktop background, if there is no window below) shows through. It fixes itself if I scroll more, or continue to move the mouse.

        Seems to be a weird issue between Firefox and the compositor (KWin I guess). I don’t know how to reproduce it, it just happens randomly.

        I’m not on FF ESR, I’m using the latest from Arch (97.0 currently).

        1. That sounds fimilar. I upgraded from ESR to FF release, and the problems reduced – became more similar to what you’re describing.

  4. I guess you already know that, but you can switch window manager and use the real i3wm on a KDE desktop environment. The setup is rather easiy.

    1. At least with xmonad, the problem would be the lack of an xmonad-log-applet for KDE. I don’t know if i3wm users tend to have that (xmonad doesn’t draw titles on windows, so it needs it). It’s a bar typically across the top of the screen that shows textual information about what the current window title is, what the current desktop is, etc.

  5. To turn off the display after locking, configure the following command to be run on screen lock:

    sleep 0.5 && qdbus org.kde.kglobalaccel /component/org_kde_powerdevil invokeShortcut “Turn Off Screen”

    Source: https://askubuntu.com/a/1336665

    You may have to increase the sleep period a bit if the monitor wakes up immediately after turning off.

    1. Ugh. Make sure to convert the fancy quotes in my comment to normal double quotes, otherwise the command won’t work.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.