dotfiles/sxhkd/.local/bin/sxhkd-piped

32 lines
584 B
Bash
Executable file

#!/usr/bin/env sh
# 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
# create a fifo and start sxhkd with it
sxhkd() {
exist "$PROG" critical
if [ -n "$1" ]; then
"$PROG" "$@"
else
[ -e "$FIFO" ] && rm "$FIFO"
mkfifo "$FIFO"
"$PROG" -s "$FIFO"
fi
}
sxhkd "$@"