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-query
pois 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.