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"

Просто чтобы прояснить ситуацию, я настоятельно предпочитаю решение, которое не требует перезагрузки системы.

0