keter
Name
keter - A simple X hotkey daemon
Synopsis
keter [OPTIONS] [EXTRA_CONFIG...]
Options
--help
Print the synopsis to standard output and exit.
--version
Print the version information to standard output and exit. (Version information
is derived from data passed to the "ldflags" flag with go build)
--timeout
Timeout in seconds for the recording of chord chains. Default is 2 seconds.
--env
Provide an environment variable for locating a directory containing a configuration file. The default value is 'XDG_CONFIG_HOME'
--path
Provide a path relative env determined directory. The default is 'keter/keterrc'
--file
Read the keter main configuration from the given file, overrides both env and path but no default value.
--verbose
Verbose logging of any messages, default is false.
Behavior
keter is a daemon that listens to keyboard events and execute commands.
It reads its configuration file from $XDG_CONFIG_HOME/keter/keterrc by default, or from the given file if the --file option is used.
If keter receives a SIGUSR1 (resp. SIGUSR2) signal, it will reload its configuration file (resp. toggle the grabbing state of all its bindings).
The commands are executed via exec.Cmd (you can use environment variables).
Configuration
Each line of the configuration file is interpreted as so:
If it is empty or starts with #, it is ignored.
If it starts with a space, it is read as a command.
Otherwise, it is read as a hotkey.
If @ is added at the beginning of the keysym, the command will be run on key release events, otherwise on key press events.
Mouse hotkeys can be defined by using one of the following special keysym names: button1, button2, button3, …, button24.
The hotkey and the command may contain sequences of the form {STRING_1,…,STRING_N}.
In addition, the sequences can contain ranges of the form A-Z where A and Z are alphanumeric characters.