https://bugs.kde.org/show_bug.cgi?id=444974

Aleksey Kladov <aleksey.kla...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aleksey.kla...@gmail.com

--- Comment #3 from Aleksey Kladov <aleksey.kla...@gmail.com> ---
Here are some specific problems which prevent me from storing plasma config in
my dotfiles repo on GitHub and share it between several machines:

1) While configuration is in text format, it is not human-readable or human
editable. For example, here's the start of my `~/.config/kglobalshortcuts`:

```
[ActivityManager]
_k_friendly_name=Activity Manager
switch-to-activity-91f1e606-4d43-4e12-85a2-7224a17f3330=none,none,Switch to
activity "Default"

[KDE Keyboard Layout Switcher]
Switch keyboard layout to English (US)=none,none,Switch keyboard layout to
English (US)
Switch keyboard layout to English (Workman)=none,none,Switch keyboard layout to
English (Workman)
Switch keyboard layout to Russian=none,none,Switch keyboard layout to Russian
Switch keyboard layout to us(workman)=none,none,Switch keyboard layout to
us(workman)
Switch to Next Keyboard Layout=none,Ctrl+Alt+K,Switch to Next Keyboard Layout
_k_friendly_name=Keyboard Layout Switcher

[kaccess]
Toggle Screen Reader On and Off=,Meta+Alt+S,Toggle Screen Reader On and Off
_k_friendly_name=Accessibility
```

As a human, that switch-to-activity-UUID doesn't make sense to me, so I can't
modify it. 

2) Configuration includes irrelevant information, so it is impractical to store
it in version control. `kglobalshorctucs` contains 269 lines, although I've
configured only a handful of keys.

3) Configuration mixes actual user configuration and machine-specific state.
For example, my `~/.config/dolphinrc` starts like this:

```
DisplayPort-1 Window-Maximized 2560x1440=true
DisplayPort-1 XPosition 2560x1440=0
DisplayPort-1 YPosition 2560x1440=24
State=AAAA/wAAAAD9AAAAAwAAAAAAAABXAAAFPPwCAAAAAvsAAAAWAGYAbwBsAGQAZQByAHMARABvAGMAawAAAAAA/////wAAAAoBAAAD+wAAABQAcABsAGEAYwBlAHMARABvAGMAawEAAABMAAAFPAAAAF0BAAADAAAAAQAAAAAAAAAA/AIAAAAB+wAAABAAaQBuAGYAbwBEAG8AYwBrAAAAAAD/////AAAACgEAAAMAAAADAAAAAAAAAAD8AQAAAAH7AAAAGAB0AGUAcgBtAGkAbgBhAGwARABvAGMAawAAAAAA/////wAAAAoBAAADAAAJqAAABTwAAAAEAAAABAAAAAgAAAAI/AAAAAEAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAA=
```

The size of whatever in pixels is very clearly specific to my desktop machine,
but I would like to share and synchronize the same config file between my
desktop and my laptop.


As a positive example of a configuration file which can be managed as text,
consider my .xbindkeysrc:

```
λ bat -p ~/.xbindkeysrc 
"jumpapp -m kitty"
  F1

"jumpapp -m vivaldi"
  F2

"krunner"
  F3

"jumpapp -m code"
  F4

"jumpapp -mf telegram-desktop"
  F5

"jumpapp -m deadbeef"
  F6

"code --new-window ~/work/"
  F7

"jumpapp -m dolphin"
  Mod4 + e
```

Here, everything was typed by me, doesn't include opaque data like uuids or
base64 encoded strings, and includes only the diff I've made to the default
config.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to