sxhkd (Русский)

From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи sxhkd. Дата последней синхронизации: 11 января 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

sxhkd — это простой демон горячих клавиш для X, созданный разработчиком bspwm.

Установка

Установите sxhkd или sxhkd-gitAUR.

Настройка

По умолчанию используется файл настроек $XDG_CONFIG_HOME/sxhkd/sxhkdrc. С помощью опции -c можно указать другой файл.

Каждая строка в файле интерпретируется так:

  • Если строка начинается на #, то она игнорируется.
  • Если строка начинается с пробельных символов, она считывается как команда для запуска.
  • Иначе строка считывается как сочетание клавиш: имена клавиш, разделённые пробелом или символом +.

Синтаксис:

[МОДИФИКАТОР + ]*[@]СИМВОЛ
    КОМАНДА

Где МОДИФИКАТОР может иметь одно из следующих значений: super, hyper, meta, alt, control, ctrl, shift, mode_switch, lock, mod1, mod2, mod3, mod4, mod5. Если перед символом клавиши добавить @, то команда будет выполнена в момент отпускания клавиши, а не сразу в момент нажатия. СИМВОЛ нужной вам клавиши можно узнать с помощью команды xev.

Для отслеживания кнопок мыши можно использовать специальные коды клавиш button1, button2, button3, ..., button24. Также можно задать сразу несколько кодов клавиш в виде последовательности {СИМВОЛ_1,...,СИМВОЛ_N} и добавить в команду последовательность строк (в фигурных скобках и разделённых запятыми) такой же длины — тогда в команду будет подставлен тот элемент последовательности, который соответствует заданному коду клавиши в указанном вами порядке. Если вам нужно добавить в команду обычные фигурные скобки, то, чтобы они не конфликтовали с синтаксисом последовательностей, экранируйте их с помощью обратной косой черты: например, если вы хотите добавить команду awk '{print $1}', запишите её как awk '\{print $1\}'. Также можно задать последовательность в виде диапазона A-Z, где A и Z — буква или цифра.

Для выполнения команды sxhkd запускает ОБОЛОЧКА -c КОМАНДА, что означает, что вы можете использовать переменные окружения внутри команды. ОБОЛОЧКА считывается из переменной окружения SXHKD_SHELL или, если её нет, из SHELL. При получении сигнала SIGUSR1 sxhkd заново прочитает файл настроек.

Пример

$XDG_CONFIG_HOME/sxhkd/sxhkdrc
# При нажатии левой кнопки мыши эмулировать нажатие Alt_R+F1
button1
    xte "keydown Alt_R" "keydown F1" "keyup Alt_R" "keyup F1"

# При нажатии средней кнопки мыши подождать 3 секунды и эмулировать нажатие Alt_R+F2
button2
    xte "sleep 3" "keydown Alt_R" "keydown F2" "keyup Alt_R" "keyup F2"

Использование

После настройки вы скорее всего захотите добавить sxhkd в автозапуск; смотрите соответствующую статью для вашей среды рабочего стола или вашего оконного менеджера.

Если ваша среда поддерживает Desktop Application Autostart Specification, можно создать файл автозапуска sxhkd.desktop:

~/.config/autostart/sxhkd.desktop
[Desktop Entry]
Name=sxhkd
Comment=Simple X hotkey daemon
Exec=/usr/bin/sxhkd
Terminal=false
Type=Application

Смотрите также