Я пытаюсь сделать приложение для переключения макета XFCE4-Panel между 3 макетами. Я применил эти макеты и скопировал XML-файл, где Xfconf сохраняет свою конфигурацию для панели. Основная идея заключалась в том, что я мог просто удалить старый файл и скопировать новый. Только, это не получилось так хорошо. Кажется, что-то мешает мне изменять файлы XML без использования xfconf-query
. Я мог бы каждый раз переустанавливать панели, позволять скрипту устанавливать значения так, как они должны быть, и перезапускать панель, но файлы конфигурации немного большие, чтобы сделать все это (у меня также возникает несколько проблем с контентом панели при использовании xfconf-query
).
Итак, в основном я хочу знать, есть ли способ применить конфигурацию всего XML-файла. Будь то убивать некоторые процессы и быстро копировать файлы, или используя что-то, что автоматически анализирует XML-файл и устанавливает все значения с помощью xfconf-query
. Я использую Python (в сочетании с Bash), если кто-то знает какой-то класс, который может это сделать.
Я нашел следующее для работы, но для этого требуется перезапуск панели, что приводит к короткому мерцанию:
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'
[d2 ] Перезапуск панели также перезапустит демон xfconfd. Он работает, но лучше использовать xfconf-query, поскольку это не вызывает мерцания. Вам просто нужно выяснить правильные пары пути-значения, проанализировав XML-файл и применив их в одной партии. Не могу помочь вам, извините.