XFCE4 パネルのレイアウトを 3 つのレイアウト間で切り替えるアプリを作成しようとしています。これらのレイアウトを適用し、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 ファイルを解析して適切なパスと値のペアを見つけ出し、それを 1 つのバッチで適用するだけです。その点についてはお手伝いできません。申し訳ありません。