#!/hint/bash if [[ -z "$XDG_RUNTIME_DIR" ]]; then printf "XDG_RUNTIME_DIR isn't set\n" >&2 exit 6 fi setup_trap() { trap "rm -f -- \"\${XDG_RUNTIME_DIR}\"/wmii*/rbar/${1}" EXIT } write() { local dirs=("${XDG_RUNTIME_DIR}"/wmii*/rbar/) sponge|tee -a "${dirs[@]/%/${1}}" > /dev/null || true } type left-click &>/dev/null || left-click() { :; } type middle-click &>/dev/null || middle-click() { :; } type right-click &>/dev/null || right-click() { :; } type scroll-up &>/dev/null || scroll-up() { :; } type scroll-down &>/dev/null || scroll-down() { :; } type update &>/dev/null || update() { :; } set -eE shopt -s nullglob case "$1" in 1) left-click;; 2) middle-click;; 3) right-click;; 4) scroll-up;; 5) scroll-down;; [0-9][0-9]_*) update "$1";; esac