我正在尝试制作一个应用程序,用于在 3 个布局之间切换 XFCE4-Panel 的布局。我应用了这些布局并复制了 Xfconf 存储面板配置的 XML 文件。
一般的想法是,我可以删除旧文件并复制新文件。只是,效果不太好。似乎有什么东西阻止我在不使用 的情况下更改 XML 文件xfconf-query
。我每次都可以重置面板,让脚本将值设置为应有的值,然后重新启动面板,但配置文件有点大,无法完成所有这些操作(使用 时,我也遇到了一些面板内容问题xfconf-query
)。
所以基本上我想知道是否有办法只应用整个 XML 文件的配置。无论是通过终止一些进程并快速复制文件,还是通过使用自动地解析 XML 文件并使用 设置所有值xfconf-query
。如果有人知道某种可以执行此操作的类,我会使用 Python(结合 Bash)。
答案1
我发现以下方法可行,但需要重新启动面板,这会导致短暂闪烁:
killall xfconfd
cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
xfce4-panel -r
或者作为 Python 的一行代码:
bash -c 'killall xfconfd && cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml && xfce4-panel -r'
重新启动面板也将重新启动 xfconfd 守护进程。
这种方法有效,但更好的方法是使用,xfconf-query
因为这不会引起任何闪烁。您只需通过解析 XML 文件找出正确的路径值对,然后将它们应用到一个批处理中。很抱歉,我无法帮助您。