Carregar configuração de XML (Xfconf)

Carregar configuração de XML (Xfconf)

Estou tentando fazer um aplicativo para alternar o layout do seu painel XFCE4 entre 3 layouts. Apliquei esses layouts e copiei o arquivo XML onde o Xfconf armazena sua configuração para o painel.
A ideia geral era que eu pudesse simplesmente remover o arquivo antigo e copiar o novo. Só que isso não funcionou muito bem. Algo parece estar me impedindo de alterar os arquivos XML sem o uso do xfconf-query. Eu poderia simplesmente redefinir os painéis todas as vezes, deixar o script definir os valores como deveriam ser e reiniciar o painel, mas os arquivos de configuração são um pouco grandes para fazer tudo isso (também estou tendo alguns problemas com o conteúdo do painel ao usar xfconf-query).

Basicamente, quero saber se existe uma maneira de aplicar apenas a configuração de todo o arquivo XML. Seja eliminando alguns processos e copiando rapidamente os arquivos ou usando algo queautomaticamenteanalisa o arquivo XML e define todos os valores com xfconf-query. Estou usando Python (combinado com Bash) se alguém conhece algum tipo de classe que possa fazer isso.

Responder1

Achei que o seguinte funcionava, mas requer a reinicialização do painel, o que resulta em uma breve oscilação:

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

ou como one-liner para Python:

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

Reiniciar o painel também reiniciará o daemon xfconfd.

Funciona, mas uma abordagem melhor seria usar, xfconf-querypois não causa oscilação. Você apenas teria que descobrir os pares caminho-valor adequados analisando o arquivo XML e aplicá-los em um lote. Não posso ajudá-lo com isso, desculpe.

informação relacionada