sxhkd (Русский)
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
Смотрите также
- Репозиторий на GitHub — исходный код, список опций и примеры настройки
- Тема на форуме Arch Linux