TLDR: я пытаюсь настроить сочетание клавиш из сценария (на linux mint XFCE), но мешает предварительно настроенная привязка клавиш.
У меня есть установочный скрипт, который устанавливает пакеты apt, устанавливает пользовательские скрипты, настраивает ОС, клонирует git repo и устанавливает хобби-проекты.
Одна из вещей, которую я хочу сделать для скрипта, - это настроить сочетания клавиш для привязки окна. Идея состоит в том, что если вы нажмете Ctrl + Shift + Numpad [1-9], окно привязывается к соответствующему месту на экране.
Таким образом, Ctrl + Shift + 8 привязывает окно к верхней половине экрана.
и Ctrl + Shift + 3 привязки к нижнему нижнему углу.
У меня код примерно работает:
XFCE_SHORTCUTS_FILE=~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
XFCE_SHORTCUTS_BACKUP="$XFCE_SHORTCUTS_FILE.bak"
xfce_set() {
key="/xfwm4/custom/$1"
action="$2"
xfconf-query --create -c xfce4-keyboard-shortcuts -t string -p "$key" -s "$action"
}
if [ ! -f "$XFCE_SHORTCUTS_BACKUP" -a -f $XFCE_SHORTCUTS_FILE ]
then
cp -n "$XFCE_SHORTCUTS_FILE" "$XFCE_SHORTCUTS_BACKUP"
xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Primary><Alt>F10" -r -R
xfce_set '<Primary><Shift>KP_Begin' "maximize_window_key"
xfce_set '<Primary><Shift>KP_Home' "tile_up_left_key"
xfce_set '<Primary><Shift>KP_Page_Up' "tile_up_right_key"
xfce_set '<Primary><Shift>KP_End' "tile_down_left_key"
xfce_set '<Primary><Shift>KP_Page_Down' "tile_down_right_key"
xfce_set '<Primary><Shift>KP_Left' "tile_left_key"
xfce_set '<Primary><Shift>KP_Right' "tile_right_key"
xfce_set '<Primary><Shift>KP_Up' "tile_up_key"
xfce_set '<Primary><Shift>KP_Down' "tile_down_key"
fi
Защелкивание окна работает для всех углов и всех сторон. По умолчанию linux mint привязывает окно максимизации и восстановления к alt + F10. Это странная комбинация с углами и сторонами на цифровой клавиатуре, поэтому я хочу вместо этого отобразить Ctrl + Shift + 5. Я уже сделал попытку переназначить ключ, но старая привязка мешает. Я попытался сначала удалить старую привязку с помощью xconf-query, но моя попытка не сработала:
xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Primary><Alt>F10" -r -R
xfce_set '<Primary><Shift>KP_Begin' "maximize_window_key"
Просто чтобы прояснить ситуацию, я настоятельно предпочитаю решение, которое не требует перезагрузки системы.