Konfiguration aus XML laden (Xfconf)

Konfiguration aus XML laden (Xfconf)

Ich versuche, eine App zu erstellen, mit der Sie das Layout Ihres XFCE4-Panels zwischen 3 Layouts umschalten können. Ich habe diese Layouts angewendet und die XML-Datei kopiert, in der Xfconf seine Konfiguration für das Panel speichert.
Die Grundidee war, dass ich einfach die alte Datei entfernen und die neue kopieren könnte. Nur hat das nicht so gut funktioniert. Irgendetwas scheint mich daran zu hindern, die XML-Dateien ohne die Verwendung von zu ändern xfconf-query. Ich könnte die Panels einfach jedes Mal zurücksetzen, das Skript die Werte so einstellen lassen, wie sie sein sollten, und das Panel neu starten, aber die Konfigurationsdateien sind ein bisschen zu groß, um das alles zu tun (ich habe auch ein paar Probleme mit dem Inhalt des Panels, wenn ich verwende xfconf-query).

Im Grunde möchte ich wissen, ob es eine Möglichkeit gibt, die Konfiguration der gesamten XML-Datei anzuwenden. Ob dies durch Beenden einiger Prozesse und schnelles Kopieren der Dateien oder durch Verwenden von etwas möglich ist, dasautomatischanalysiert die XML-Datei und setzt alle Werte mit xfconf-query. Ich verwende Python (kombiniert mit Bash), falls jemand eine Klasse kennt, die das kann.

Antwort1

Folgendes funktioniert bei mir, erfordert aber einen Neustart des Panels, was zu einem kurzen Flackern führt:

killall xfconfd
cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
xfce4-panel -r

oder als Einzeiler für Python:

bash -c 'killall xfconfd && cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml && xfce4-panel -r'

Durch einen Neustart des Panels wird auch der xfconfd-Daemon neu gestartet.

Es funktioniert, aber ein besserer Ansatz wäre, zu verwenden, xfconf-queryda dies kein Flackern verursacht. Sie müssten nur die richtigen Pfad-Wert-Paare herausfinden, indem Sie die XML-Datei analysieren und sie in einem Stapel anwenden. Da kann ich Ihnen leider nicht helfen.

verwandte Informationen