https://forum.xfce.org/viewtopic.php?pid=32033#p32033
XFCE Panel Settings
.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
XFCE QuickLauncher
Ярлыки QuickLauncher'а лежат в файликах с именами типа:
.config/xfce4/panel/quicklauncher-*.rc
На место звездочки подставляется число. Я не понял как именно формируется имя файла. Более того, если QuickLauncher дефолтный, то файла нет, а появляется он только если открыть свойства QuickLauncher'а.
Для того, чтобы перенести настройки в другого пользователя я просто заменяю содержимое файла, не изменяя имя.
XFCE Panel
XFCE - list all panel properties
xfconf-query -c xfce4-panel -p /panels -lv
XFCE - list panel IDs
xfconf-query -c xfce4-panel -p /panels | grep -v "Value is an\|^$"
XFCE - list all panel plugins info
going to model after existing launcher plugin
xfconf-query -c xfce4-panel -p /plugins -lv
Программное формирование панели launcher
В XFCE плагин Launcher предназначен для добавления одного или нескольких ярлычков приложений на панель. Один лаунчер будет всегда размером с в одну иконку. Если в него добавлено несколько приложений - они будут доступны в вападающем меню лаунчера. Для нескольких кнопок нужно добавить несколько лаунчеров.
- Определяем под каким номером существует текущая панель:
xfconf-query -c xfce4-panel -p /panels -lv
- Смотрим какие плагины есть на панели
xfconf-query -c xfce4-panel -p /plugins -lv /plugins/plugin-1 tasklist /plugins/plugin-11 separator /plugins/plugin-11/expand true /plugins/plugin-11/style 0 /plugins/plugin-3 statusnotifier /plugins/plugin-3/known-items <<UNSUPPORTED>> /plugins/plugin-4 indicator /plugins/plugin-4/known-indicators <<UNSUPPORTED>> /plugins/plugin-5 systray /plugins/plugin-5/names-ordered <<UNSUPPORTED>> /plugins/plugin-5/names-visible <<UNSUPPORTED>> /plugins/plugin-6 notification-plugin /plugins/plugin-7 applicationsmenu /plugins/plugin-7/button-title Apps /plugins/plugin-8 cpugraph /plugins/plugin-9 xkb
- Добавляем плагин lanucher в панель под свободным номером (в данном случае - 2). Плагин объединяет ярлычки приложений.
xfconf-query -c xfce4-panel -p /plugins/plugin-2 -t string -s "launcher" --create
- Смотрим номера плагинов добавленных на панель и порядок их следования:
xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids| grep -v "Value is an\|^$" 7 1 11 5 6 8 9 3 4
- Удаляем плагины с панели и пересоздаем их, используя номера, полученные на предыдущем шаге и проверяем, что добавился плагин номер 2:
xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids -rR xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids -t int -s 7 -t int -s 2 -t int -s 1 -t int -s 11 -t int -s 5 -t int -s 6 -t int -s 8 -t int -s 9 -t int -s 3 -t int -s 4 --create xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids| grep -v "Value is an\|^$" 7 2 1 11 5 6 8 9 3 4
- Создадим директорию лаунчера приложения ~/.config/xfce4/panel/launcher-xx
mkdir ~/.config/xfce4/panel/launcher-10
- Скопируем ярлычок приложения (один ярлычок - файл .desktop) в созданную папку
cp /usr/share/applications/exo-terminal-emulator.desktop ~/.config/xfce4/panel/launcher-10
- Создадим запись о лаунчере приложения в конфиге плагина:
xfconf-query -c xfce4-panel -p /plugins/plugin-2/items -t string -s "exo-terminal-emulator.desktop" -a --create
- Перезапустим xfce4-panel
xfce4-panel -r
Добавление ранее настроенных лаунчеров
У меня когда-то были настроены лаунчеры, но потом они почему-то слетели. Однако папки launcher-xx с файлами *.desktop файлами остались. Добавить их обратно в созданную панель лаунчера я смог так:
items='' while read -r line; do shortcut="`cat $line | grep X-XFCE-Source | sed 's/^X-XFCE-Source=file:\/\///'`" cp $shortcut `dirname $line`/ 2>/dev/null items="$items -t string -s \"`basename $shortcut`\"" #rm -f $line done < <(ls ~/.config/xfce4/panel/launcher-*/1*.desktop -1) echo $items xfconf-query -c xfce4-panel -p /plugins/plugin-2/items -rR xfconf-query -c xfce4-panel -p /plugins/plugin-2/items $items -a --create
Discussion