Declarative KDE configuration

I just reinstalled the OS after my machine mysteriously stopped being able to boot. Configuring KDE took a really long time. It’s got a ton of configuration files, and if I recall correctly the last time I blindly copied them all from my computer’s previous life it broke the system. Can aspects like the following be configured via a text file rather than with the mouse?

- Use 2 activities with 16 desktops each in a 4x4 grid
- Include multiple keyboard language layouts
- Swap the CAPS and ESC keys
- Keyboard shortcuts to
  - switch languages
  - view all desktops
  - move to adjacent desktops
  - move focused window to an adjacent desktop
  - invert colors for the focused window
- In Konsole
  - use the black-on-white layout
  - use a different default font and font size

I have the same problem of “configuring KDE is a chore”. Significant part of that is that various files in ~/.config are a mix of user-specified configs and some machine-generated gibberish.

So far, the results are negative for me: I just tweak the stuff with mouse in the settings. For shortcuts specifically, there’s import/export scheme:

I used it once, but I don’t use it to sychronize shorctuts manually between laptop and desktop.

Is there some upstream plasma issue about “make configuration files easy to store in Git”?

That would be lovely. I suffer from this problem too :disappointed:

I suffered from this as well. Then I ended the suffering by switching to i3wm.

I would not want to go back. It’s like switching from ubuntu to nixos.

I also now seriously wonder how the concept of free floating windows has ever become so popular and is basically the norm for desktops. It just doesn’t make any sense from a productivity point of view.

It was probably an accident like most things in the IT world.
You don’t read a book while half of its page is overlapped by another book.

There is no other modern software or device which layouts information in a free floating half overlapping layout.
Smart phones do not, browsers do not, ATMs do not, nothing does. But for some reason most people still manage their desktop with this overhead of complexity.

Of course you can layout your windows in a sane way on KDE/gnome as well, but why not use something that does it by default?


This is drifting offtopic, but for me personally the concept of window itself doesn’t make sense, so, rather than tile my windows, I only have one app maximized at a time plus a bunch of keys to switch to a specific app. Very much agree with this article in principle, though I don’t endorse such style of delivery :slight_smile:

Regardless, KDE/Plasma is a bit more than window manager. Though, indeed, shoving parts of it into more specialized easily configurable utils might help. For example, I use xbindkeys to assign shortcuts to run-or-raise an application. Incidentally, the fact that it doesn’t work with wayland renewed my interest in making Plasma’s native shortcuts easier to GitHub.

1 Like

I filed a KDE (specifically Plasma) issue.

1 Like

this is probably unwelcome (sorry if that’s the case, don’t mean to stoke controversy or anything) but you may want to take a look at Gnome. its configuration (including that of extensions, importantly!) is based on dconf, so I have no trouble whatsoever keeping my cross-machine Gnome configuration in git and applying it with home-manager.


@cmm No, that’s an extremely welcome tip!

Gnome looks like it could be worth it. The only thing I see missing from it is some equivalent to KDE Activities, but I could live without that by just using a ton of Gnome Workspaces (the equivalent to KDE Desktops).

Gnome looks like it has the full-screen zoom I need, and it can invert colors and let me switch keyboard layouts on demand, and there’s a WM-agnostic way to swap Capslock and Esc. Those are certainly most (and maybe all) of the customizations I use.

TIL. That’s quite useful.

Perhaps also relevant is ⚓ T12549 Remove state data from config files, where work is being done on removing “state data” from the config files of KDE apps.


Sorry for being offtopic but regarding Xahlee’s article: you don’t need to see all windows at once. Key is having virtual desktops as many as you like, easily reachable via a hotkey like super+1 (I use 10 per display). Then you build you desktops by purpose. For example, I have always a terminal and emacs on 1, a browser on 2 (full-screen), signal at 8, other on 9 and mail on 10; Some other stuff on my second display. So when I start using an application no already there, I reach out for the virtual desktop 3 on display 1 and depending if need to have some reference for working on that, I put documents on display 2. It’s pretty simple. Switching desktops is super+N, between displays I use super+<>. I hope you get the idea.


I hope it’s okay if I take the bait.

you don’t need to see all windows at once

Oh, but I like being able to them all at once. Or at least to see all the windows related to a given context. In KDE I have one Activity for “work and my system” and another for “everything else”. Being able to zoom out and see all the windows on all the desktops in a given activity is nice. My memory could, I agree, substitute for that, but I think my eyes do the work a lot more easily.

regarding Xahlee’s article

(It wasn’t completely obvious so just in case anyone’s wonering, that article is here.) If I can pile on against the article – I don’t think Emacs needs to eat all of a person’s keyboard shortcuts. If you want every keyboard shortcut to take as little time as possible, then sure, but it’s cognitively more ergonomic to group them via prefixes, and that also allows Emacs to play nice with other systems. I don’t use Super in Emacs for anything.