Marty Oehme
3d0446de05
Changed the way to exit sxhkd chain modes. Instead of using `esc` to get out of them, now pressing the mode key chain again will also exit out of the mode (e.g. `alt + m` to get into `media` mode, then `alt + m` once more to exit it). This is done since using escape will interfere with many normal-use scenarios while in a chain-mode, especially if those modes are intended to be used over somewhat longer periods of time (somewhat like vim-modes or emacs layers). The key to exit modes has now been moved to `copyright`, so in the rather improbable case that your keyboard contains a `copyright` key, be careful of accidentally hitting it when in an sxhkd chain mode. Fixed passing arguments to the sxhkd-piped script. It will pass along any commandline arguments passed now (even `-s`, though then the script will cease to do anything). Improved version output of sxhkd-chain-labels a little, invoking `sxhkd-chain-labels -v` will now show the correct configuration file and FIFO pipe being used, as well as whether they exist on the file system. Fixed the versioning of the script to display the correct version.
32 lines
638 B
Bash
Executable file
32 lines
638 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# Starting sxhkd without arguments automatically creates
|
|
# a fifo pipe in XDG_RUNTIME_DIR, to enable IPC for sxhkd.
|
|
# Mostly used for sxhkd-chain-labels script.
|
|
|
|
type sxhkd >/dev/null 2>&1 || {
|
|
return 1
|
|
}
|
|
|
|
# get the complete path to sxhkd to avoid
|
|
# recursion later on
|
|
PROG="$(type sxhkd)"
|
|
PROG="${PROG##* }"
|
|
|
|
FIFO="$XDG_RUNTIME_DIR"/sxhkd_fifo
|
|
|
|
args="$*"
|
|
# create a fifo and start sxhkd with it
|
|
sxhkd() {
|
|
exist "$PROG" critical
|
|
|
|
if [[ "$args" = *"-s"* ]]; then
|
|
"$PROG" "$@"
|
|
else
|
|
[ -e "$FIFO" ] && rm "$FIFO"
|
|
|
|
mkfifo "$FIFO"
|
|
"$PROG" -s "$FIFO" "$@"
|
|
fi
|
|
}
|
|
|
|
sxhkd "$@"
|