#!/bin/sh wobpipe="${XDG_RUNTIME_DIR:-${TMPDIR:-/tmp}}/wobpipe" usage() { cat <<- EOF Usage: ${0##*/} [cmd] A helper script for wob the wayland overlay bar Example: ${0##*/} wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- EOF } err() { : "${1:?}" printf "\033[31;1merr: %b\033[0m\n" "$1" 1>&2 command -v notify-send > /dev/null && notify-send " wob loader" "$1" } render() { : "${1:?}" echo "${1%%.*}" > "$wobpipe" } main() { exe="$1" shift if [ -z "$exe" ]; then usage exit elif [ ! -p "$wobpipe" ]; then err "$wobpipe: named pipe does not exist" exit 1 elif ! command -v "$exe" > /dev/null; then err "${exe}: command not found" exit 127 fi case "$exe" in "wpctl") wpctl "$@" data="$(wpctl get-volume "@DEFAULT_AUDIO_SINK@")" render "$(echo "${data##* } * 100" | bc)" ;; "brightnessctl") brightnessctl "$@" data="$(brightnessctl info | grep -o '[0-9]*%')" render "${data%\%}" ;; *) err "${exe}: not implemented" "$exe" "$@" esac } main "$@"