Based on my
plasmasetconfig.py script: https://gist.github.com/Zren/764f17c26be4ea0e088f4a6a1871f528
- This tool generates and sends a plasma script over dbus, iterating every widget in every containment.
- I also ported the terminal colors. I'll assume they are globally supported.
- The code is fully implemented, however I don't know where I should place this. The other
plasma-applet-___tools are in the kcm dir however this isn't a GUI in System Settings.
The folder is a separate cmake project atm, so to test.
cmake -B build cmake --build build ./build/bin/plasmashellconfig
qdbus, when no arguments are given, it prints all the plasmoid + wallpaper namespaces. It uses gray terminal coloring for the 4 directories as separators.
When you pass at least 1 argument as the namespace, it'll parse the
contents/config/main.xml for all the config group+keys. It'll also print the default value as an example of passing a new value. Lastly, the type is printed in gray formatted as a bash comment. The program name is printed in the beginning as well so a user can easily copy the entire line.
./plasmashellconfig org.kde.plasma.digitalclock Usage: ./plasmashellconfig [options] widget group key value plasmashellconfig org.kde.plasma.digitalclock Appearance showLocalTimezone false # Bool
Note: The latest commits now display
dateFormatStr ddd d # string as
dateFormatStr "ddd d" # string.
Anyways, if you pass all 4 arguments, it quietly calls plasmashell's
evaluateScript method over dbus.
./plasmashellconfig org.kde.plasma.digitalclock Appearance showDate true
Which is the equivalent of running:
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "... really long plasma script ..."