diff options
Diffstat (limited to '.local/bin/wobload')
| -rwxr-xr-x | .local/bin/wobload | 69 | 
1 files changed, 69 insertions, 0 deletions
| diff --git a/.local/bin/wobload b/.local/bin/wobload new file mode 100755 index 0000000..9fdb4a4 --- /dev/null +++ b/.local/bin/wobload @@ -0,0 +1,69 @@ +#!/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" +	command -v notify-send > /dev/null && +		notify-send "  wob loader" "$1" +} + +render() +{	 +	: "${1:?}" + +	echo "${1%%.*}" > "$wobpipe" +} + +main() +{ +	exe="$1" && [ -z "$exe" ] && +		usage && exit + +	if [ ! -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 1 +	fi + +	shift +	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%\%}" +		;; +	"") +		usage +		;; +	*) +		err "${exe}: not implemented" +		"$exe" "$@" +	esac +} + +main "$@" | 
