sxhkd.1 (5736B)
1 '\" t 2 .\" Title: sxhkd 3 .\" Author: [see the "Author" section] 4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> 5 .\" Date: 01/15/2022 6 .\" Manual: Sxhkd Manual 7 .\" Source: Sxhkd 0.6.2-2-g736cf7e 8 .\" Language: English 9 .\" 10 .TH "SXHKD" "1" "01/15/2022" "Sxhkd 0\&.6\&.2\-2\-g736cf7e" "Sxhkd Manual" 11 .\" ----------------------------------------------------------------- 12 .\" * Define some portability stuff 13 .\" ----------------------------------------------------------------- 14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15 .\" http://bugs.debian.org/507673 16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html 17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18 .ie \n(.g .ds Aq \(aq 19 .el .ds Aq ' 20 .\" ----------------------------------------------------------------- 21 .\" * set default formatting 22 .\" ----------------------------------------------------------------- 23 .\" disable hyphenation 24 .nh 25 .\" disable justification (adjust text to left margin only) 26 .ad l 27 .\" ----------------------------------------------------------------- 28 .\" * MAIN CONTENT STARTS HERE * 29 .\" ----------------------------------------------------------------- 30 .SH "NAME" 31 sxhkd \- Simple X hotkey daemon 32 .SH "SYNOPSIS" 33 .sp 34 \fBsxhkd\fR [\fIOPTIONS\fR] [\fIEXTRA_CONFIG\fR \&...] 35 .SH "DESCRIPTION" 36 .sp 37 sxhkd is a simple X hotkey daemon with a powerful and compact configuration syntax\&. 38 .SH "OPTIONS" 39 .PP 40 \fB\-h\fR 41 .RS 4 42 Print the synopsis to standard output and exit\&. 43 .RE 44 .PP 45 \fB\-v\fR 46 .RS 4 47 Print the version information to standard output and exit\&. 48 .RE 49 .PP 50 \fB\-m\fR \fICOUNT\fR 51 .RS 4 52 Handle the first 53 \fICOUNT\fR 54 mapping notify events\&. 55 .RE 56 .PP 57 \fB\-t\fR \fITIMEOUT\fR 58 .RS 4 59 Timeout in seconds for the recording of chord chains\&. 60 .RE 61 .PP 62 \fB\-c\fR \fICONFIG_FILE\fR 63 .RS 4 64 Read the main configuration from the given file\&. 65 .RE 66 .PP 67 \fB\-r\fR \fIREDIR_FILE\fR 68 .RS 4 69 Redirect the commands output to the given file\&. 70 .RE 71 .PP 72 \fB\-s\fR \fISTATUS_FIFO\fR 73 .RS 4 74 Output status information to the given FIFO\&. 75 .RE 76 .PP 77 \fB\-a\fR \fIABORT_KEYSYM\fR 78 .RS 4 79 Name of the keysym used for aborting chord chains\&. 80 .RE 81 .SH "BEHAVIOR" 82 .sp 83 \fBsxhkd\fR is a daemon that listens to keyboard events and execute commands\&. 84 .sp 85 It reads its configuration file from \fB$XDG_CONFIG_HOME/sxhkd/sxhkdrc\fR by default, or from the given file if the \fB\-c\fR option is used\&. 86 .sp 87 Additional configuration files can be passed as arguments\&. 88 .sp 89 If \fBsxhkd\fR receives a \fISIGUSR1\fR (resp\&. \fISIGUSR2\fR) signal, it will reload its configuration file (resp\&. toggle the grabbing state of all its bindings)\&. 90 .sp 91 The commands are executed via \fBSHELL\fR \fI\-c\fR \fBCOMMAND\fR (hence you can use environment variables)\&. 92 .sp 93 \fBSHELL\fR will be the content of the first defined environment variable in the following list: \fBSXHKD_SHELL\fR, \fBSHELL\fR\&. 94 .sp 95 If you have a non\-QWERTY keyboard or a non\-standard layout configuration, you should provide a \fICOUNT\fR of \fI1\fR to the \fB\-m\fR option or \fI\-1\fR (interpreted as infinity) if you constantly switch from one layout to the other (\fBsxhkd\fR ignores all mapping notify events by default because the majority of those events are pointless)\&. 96 .SH "CONFIGURATION" 97 .sp 98 Each line of the configuration file is interpreted as so: 99 .sp 100 .RS 4 101 .ie n \{\ 102 \h'-04'\(bu\h'+03'\c 103 .\} 104 .el \{\ 105 .sp -1 106 .IP \(bu 2.3 107 .\} 108 If it is empty or starts with 109 #, it is ignored\&. 110 .RE 111 .sp 112 .RS 4 113 .ie n \{\ 114 \h'-04'\(bu\h'+03'\c 115 .\} 116 .el \{\ 117 .sp -1 118 .IP \(bu 2.3 119 .\} 120 If it starts with a space, it is read as a command\&. 121 .RE 122 .sp 123 .RS 4 124 .ie n \{\ 125 \h'-04'\(bu\h'+03'\c 126 .\} 127 .el \{\ 128 .sp -1 129 .IP \(bu 2.3 130 .\} 131 Otherwise, it is read as a hotkey\&. 132 .RE 133 .sp 134 General syntax: 135 .sp 136 .if n \{\ 137 .RS 4 138 .\} 139 .nf 140 HOTKEY 141 [;]COMMAND 142 143 HOTKEY := CHORD_1 ; CHORD_2 ; \&... ; CHORD_n 144 CHORD_i := [MODIFIERS_i +] [~][@]KEYSYM_i 145 MODIFIERS_i := MODIFIER_i1 + MODIFIER_i2 + \&... + MODIFIER_ik 146 .fi 147 .if n \{\ 148 .RE 149 .\} 150 .sp 151 The valid modifier names are: \fIsuper\fR, \fIhyper\fR, \fImeta\fR, \fIalt\fR, \fIcontrol\fR, \fIctrl\fR, \fIshift\fR, \fImode_switch\fR, \fIlock\fR, \fImod1\fR, \fImod2\fR, \fImod3\fR, \fImod4\fR, \fImod5\fR and \fIany\fR\&. 152 .sp 153 The keysym names are given by the output of \fBxev \-event keyboard\fR\&. 154 .sp 155 Hotkeys and commands can be spread across multiple lines by ending each partial line with a backslash character\&. 156 .sp 157 When multiple chords are separated by semicolons, the hotkey is a chord chain: the command will only be executed after receiving each chord of the chain in consecutive order\&. 158 .sp 159 The colon character can be used instead of the semicolon to indicate that the chord chain shall not be aborted when the chain tail is reached\&. 160 .sp 161 If a command starts with a semicolon, it will be executed synchronously, otherwise asynchronously\&. 162 .sp 163 The \fIEscape\fR key can be used to abort a chord chain\&. 164 .sp 165 If \fB@\fR is added at the beginning of the keysym, the command will be run on key release events, otherwise on key press events\&. 166 .sp 167 If \fB~\fR is added at the beginning of the keysym, the captured event will be replayed for the other clients\&. 168 .sp 169 Pointer hotkeys can be defined by using one of the following special keysym names: \fIbutton1\fR, \fIbutton2\fR, \fIbutton3\fR, \&..., \fIbutton24\fR\&. 170 .sp 171 The hotkey and the command may contain sequences of the form \fI[STRING_1,\&...,STRING_N]\fR\&. 172 .sp 173 In addition, the sequences can contain ranges of the form \fIA\fR\-\fIZ\fR where \fIA\fR and \fIZ\fR are alphanumeric characters\&. 174 .sp 175 The underscore character represents an empty sequence element\&. 176 .SH "AUTHOR" 177 .sp 178 Bastien Dejean <nihilhill at gmail\&.com> 179 .SH "MAILING LIST" 180 .sp 181 sxhkd at librelist\&.com