Estoy intentando crear una aplicación para cambiar el diseño de su panel XFCE4 entre 3 diseños. Apliqué esos diseños y copié el archivo XML donde Xfconf almacena su configuración para el panel.
La idea general era que podía eliminar el archivo antiguo y copiar el nuevo. Sólo que eso no funcionó tan bien. Algo parece impedirme cambiar los archivos XML sin el uso de xfconf-query
. Podría simplemente restablecer los paneles cada vez, dejar que el script establezca los valores como deberían ser y reiniciar el panel, pero los archivos de configuración son un poco grandes para hacer todo eso (también estoy experimentando algunos problemas con el contenido). del panel cuando se utiliza xfconf-query
).
Básicamente, quiero saber si hay una manera de aplicar simplemente la configuración de todo el archivo XML. Ya sea eliminando algunos procesos y copiando rápidamente los archivos, o usando algo queautomáticamenteanaliza el archivo XML y establece todos los valores con xfconf-query
. Estoy usando Python (combinado con Bash) si alguien conoce algún tipo de clase que pueda hacerlo.
Respuesta1
Encontré que lo siguiente funciona, pero requiere reiniciar el panel, lo que genera un breve parpadeo:
killall xfconfd
cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
xfce4-panel -r
o como una sola línea para Python:
bash -c 'killall xfconfd && cp my-cfg-0.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml && xfce4-panel -r'
Reiniciar el panel también reiniciará el demonio xfconfd.
Funciona, pero sería mejor utilizarlo, xfconf-query
ya que no provoca ningún parpadeo. Sólo tendría que encontrar los pares de ruta-valor adecuados analizando el archivo XML y aplicándolos en un solo lote. No puedo ayudarte con eso, lo siento.