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