Configuration notes: KDE Plasma 5

Last modified: 2022-06-18 09:16

Configuration of KDE is scattered across hundreds, if not thousands, of hidden files that accumulate under your home directory.  There is no way to export a KDE configuration except to bulk copy these files and hope for the best.  Ideally, configuration would all be in ~/.config (XDG_CONFIG_HOME), but some important things, like Konsole profiles, are stored in ~/.local/share (XDG_DATA_HOME).  If copying those files still isn't enough, the missing pieces could be in ~/.local/state (XDG_STATE_HOME), ~/.cache (XDG_CACHE_HOME), or ~/.kde.

The important files are comingled with all kinds of unrelated flotsam and jetsam from which they are not easily distinguished or separated.  Nothing that uses these directories cleans up after itself.  XDG_*_HOME is a reinvention of the square wheel known as Windows Registry:  an unregulated garbage dump that is dangerous to clean and that only gets bigger and worse over time until it catches fire and you have to start again.

Some of the config files get hardcoded paths to your home directory and have to be patched if they are copied to another account.

Following is my record of important changes to the default configuration given in Slackware 15.0 in case it becomes necessary to repeat them.

Make sure that any non-distro apps that will get shortcuts are installed in /usr/local, including but not limited to Firefox, Psensor, and beep.

Do this first because QWERTY is a pain:

Then the rest:

[Footnote 1] Task Manager emulates the old Windows task bar with a bar for each window and title text inside.  Icons-Only Task Manager is the new style with just icons.

[Footnote 2] The extra parentheses were necessary to make it match both strings.  Lots of luck finding the documentation to prove that regex is not working as designed.

[Footnote 3] It seems that you have to Apply and then use the caret ^ to roll up the key selection dialog or the setting won't stick.  Make sure it takes effect and try again if it did not.

[Footnote 4] Confirm the taking of key combinations from previous assignments as applicable.  Ctrl-Alt-F12 is reserved for virtual console switching and cannot be taken.

[Footnote 5] This is

konsole --profile 'Small font' --hide-menubar --hide-tabbar -p terminalrows=7 --qwindowgeometry +0+0   -p tabtitle=info     -e tail -f /var/log/info &
konsole --profile 'Small font' --hide-menubar --hide-tabbar -p terminalrows=7 --qwindowgeometry +0+111 -p tabtitle=messages -e tail -f /var/log/messages &

It is possible to get one konsole with two panes, but it was more trouble than it was worth.

[Footnote 6] I get these every time I resume from sleep mode.

[Footnote 7] Dolphin is KDE's simple default file manager.  Krusader is an alternative "Commander-like" file manager with more functions and less pretty.  Konqueror is the KDE web browser, also usable as a file manager.  Thunar is the Xfce file manager.

[Footnote 8] Additional commands include:

In the case of apps whose default launchers are already present and satisfactory (Emacs, Thunderbird, default Konsole), you can just drag the icon from the "start menu" in the lower left corner all the way to the side panel.


Certain things have to be set individually after the template is copied in.

  1. Configure audio devices.
  2. Disable background services that are not applicable on this particular device, like WiFi, Bluetooth, or touchpad.
  3. For accounts where secrets are likely to end up on the clipboard, configure Klipper settings, uncheck "Save clipboard contents on exit" and maybe reduce the clipboard history size.  Also delete .local/share/klipper/history2.lst.
  4. For dubious benefit, change System Settings > Hardware > Display and Monitor > Compositor > Rendering backend from the default of OpenGL 2.0 to OpenGL 3.1 or whatever.
  5. Fix System Settings > Personalization > Applications > File Associations until the cows come home.

Unsolved problems

There seems to be no support for the PC speaker.  "System Bell" in Konsole is routed to PulseAudio; I worked around with a custom command.  Xterms using XWayland cannot beep at all; XWayland might not implement it.

The system of "Links to Applications" is obscure and error-prone.  It's never clear whether you are creating a new one, cloning an existing one, or destructively changing an existing one such that every other instance will change irretrievably.

Additional notes