Plasma (KDE) 小程序的强大命令行 (CLI) 配置

but*_*tla 5 kde configuration plasma

KDE 桌面小程序的配置,如启动器(“Kickoff”)或时钟被保持~/.config/plasma-org.kde.plasma.desktop-appletsrc(至少对于 KDE 5)。我想使用 Ansible 在我喜欢的新系统上配置小程序,但我找不到一种可靠的方法来做到这一点。

我知道我可以kwriteconfig5用来改变那里的值,就像这样

kwriteconfig5 --file ~/.config/plasma-org.kde.plasma.desktop-appletsrc \
--group Containments --group 3 --group Applets --group 9 \
--group Configuration --group Appearance \
--key dateFormat isoDate
Run Code Online (Sandbox Code Playgroud)

如果容器 (3) 和小程序 (9) 的数量与时钟小程序匹配,这将隐藏系统托盘中的某些项目

[Containments][3][Applets][9]
immutability=1
plugin=org.kde.plasma.digitalclock
Run Code Online (Sandbox Code Playgroud)

从我所看到的,这不能保证在安装之间发生。

是否有一些可用的优雅方法来设置特定小程序(插件,在配置文件中)的值?或者是否有必要编写一个脚本来挖掘特定应用程序的数字,然后使用 klunkykwriteconfig5命令?

小智 1

bash 上的简化解决方案:

config="plasma-org.kde.plasma.desktop-appletsrc"
grp=""
while IFS= read -r line
do
    [[ $line == *Applets* ]] && grp="$line"
    [[ $line == *org.kde.plasma.digitalclock* ]] && break
done < "$HOME/.config/$config"
ContGrp=$(echo "$grp" | awk -F\] '{print $2}' | awk -F\[ '{print $2}')
ApplGrp=$(echo "$grp" | awk -F\] '{print $4}' | awk -F\[ '{print $2}')

kwriteconfig5 --file "$config" \
  --group Containments --group "$ContGrp" --group Applets --group "$ApplGrp" \
  --group Configuration --group General \
  --key dateFormat isoDate
Run Code Online (Sandbox Code Playgroud)