Вы можете использовать xfconf-query
. Пример:
xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x' -s mousepad
xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x' -s xfce4-terminal
Первая команда устанавливает ctrlaltx на mousepad
, а вторая переключает на xfce4-terminal
.
Вы можете найти путь к этим командам в xfce4-settings-editor
. Меню слева — -c
, т.е. Канал. Затем у вас есть свойство -p
, которое вы можете получить, щелкнув элемент под каналом и нажав кнопку «Изменить» внизу. Тогда -s
совпадает с --set
.
Для вашего скрипта вы можете запросить, какая команда установлена с помощью:
xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x'
Пример:
~$ xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x'
xfce4-terminal
Ваш сценарий может выглядеть примерно так с xfconf-query
командами для каждого из перечисленных сочетаний клавиш.
#!/bin/bash
status=$(xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x')
if [ "$status" == "xfce4-terminal" ]; then
# profile 1
xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x' -s mousepad
# etc
# etc
else
# profile 2
xfconf-query -c xfce4-keyboard-shortcuts -p '/commands/custom/<Primary><Alt>x' -s xfce4-terminal
# etc
# etc
fi