1SXHKD(1) Sxhkd Manual SXHKD(1)
2
3
4
6 sxhkd - Simple X hotkey daemon
7
9 sxhkd [OPTIONS] [EXTRA_CONFIG ...]
10
12 sxhkd is a simple X hotkey daemon with a powerful and compact
13 configuration syntax.
14
16 -h
17 Print the synopsis to standard output and exit.
18
19 -v
20 Print the version information to standard output and exit.
21
22 -m COUNT
23 Handle the first COUNT mapping notify events.
24
25 -t TIMEOUT
26 Timeout in seconds for the recording of chord chains.
27
28 -c CONFIG_FILE
29 Read the main configuration from the given file.
30
31 -r REDIR_FILE
32 Redirect the commands output to the given file.
33
34 -s STATUS_FIFO
35 Output status information to the given FIFO.
36
37 -a ABORT_KEYSYM
38 Name of the keysym used for aborting chord chains.
39
41 sxhkd is a daemon that listens to keyboard events and execute commands.
42
43 It reads its configuration file from $XDG_CONFIG_HOME/sxhkd/sxhkdrc by
44 default, or from the given file if the -c option is used.
45
46 Additional configuration files can be passed as arguments.
47
48 If sxhkd receives a SIGUSR1 (resp. SIGUSR2) signal, it will reload its
49 configuration file (resp. toggle the grabbing state of all its
50 bindings).
51
52 The commands are executed via SHELL -c COMMAND (hence you can use
53 environment variables).
54
55 SHELL will be the content of the first defined environment variable in
56 the following list: SXHKD_SHELL, SHELL.
57
58 If you have a non-QWERTY keyboard or a non-standard layout
59 configuration, you should provide a COUNT of 1 to the -m option or -1
60 (interpreted as infinity) if you constantly switch from one layout to
61 the other (sxhkd ignores all mapping notify events by default because
62 the majority of those events are pointless).
63
65 Each line of the configuration file is interpreted as so:
66
67 · If it is empty or starts with #, it is ignored.
68
69 · If it starts with a space, it is read as a command.
70
71 · Otherwise, it is read as a hotkey.
72
73 General syntax:
74
75 HOTKEY
76 [;]COMMAND
77
78 HOTKEY := CHORD_1 ; CHORD_2 ; ... ; CHORD_n
79 CHORD_i := [MODIFIERS_i +] [~][@]KEYSYM_i
80 MODIFIERS_i := MODIFIER_i1 + MODIFIER_i2 + ... + MODIFIER_ik
81
82 The valid modifier names are: super, hyper, meta, alt, control, ctrl,
83 shift, mode_switch, lock, mod1, mod2, mod3, mod4, mod5 and any.
84
85 The keysym names are given by the output of xev -event keyboard.
86
87 Hotkeys and commands can be spread across multiple lines by ending each
88 partial line with a backslash character.
89
90 When multiple chords are separated by semicolons, the hotkey is a chord
91 chain: the command will only be executed after receiving each chord of
92 the chain in consecutive order.
93
94 The colon character can be used instead of the semicolon to indicate
95 that the chord chain shall not be aborted when the chain tail is
96 reached.
97
98 If a command starts with a semicolon, it will be executed
99 synchronously, otherwise asynchronously.
100
101 The Escape key can be used to abort a chord chain.
102
103 If @ is added at the beginning of the keysym, the command will be run
104 on key release events, otherwise on key press events.
105
106 If ~ is added at the beginning of the keysym, the captured event will
107 be replayed for the other clients.
108
109 Pointer hotkeys can be defined by using one of the following special
110 keysym names: button1, button2, button3, ..., button24.
111
112 The hotkey and the command may contain sequences of the form
113 {STRING_1,...,STRING_N}.
114
115 In addition, the sequences can contain ranges of the form A-Z where A
116 and Z are alphanumeric characters.
117
118 The underscore character represents an empty sequence element.
119
121 Bastien Dejean <nihilhill at gmail.com>
122
124 sxhkd at librelist.com
125
126
127
128Sxhkd 0.6.1 08/11/2019 SXHKD(1)