From 28a57eb59ec33308ab0e835429e9a0dcb054d07e Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sun, 2 Oct 2022 15:25:29 -0400 Subject: [PATCH] volume bar more efficient --- .local/bin/statusbar/sb-volume | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/.local/bin/statusbar/sb-volume b/.local/bin/statusbar/sb-volume index 3cfdc45..d17ce66 100755 --- a/.local/bin/statusbar/sb-volume +++ b/.local/bin/statusbar/sb-volume @@ -13,18 +13,26 @@ case $BLOCK_BUTTON in 6) "$TERMINAL" -e "$EDITOR" "$0" ;; esac -[ $(pamixer --get-mute) = true ] && echo 🔇 && exit +vol="$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" -vol="$(pamixer --get-volume)" +# If muted, print 🔇 and exit. +[ "$vol" != "${vol%\[MUTED\]}" ] && echo 🔇 && exit -if [ "$vol" -gt "70" ]; then - icon="🔊" -elif [ "$vol" -gt "30" ]; then - icon="🔉" -elif [ "$vol" -gt "0" ]; then - icon="🔈" -else - echo 🔇 && exit -fi +vol="${vol#Volume: }" +split() { + # For ommiting the . without calling and external program. + IFS=$2 + set -- $1 + printf '%s' "$@" +} +vol="$(split "$vol" ".")" +vol="${vol##0}" + +case 1 in + $((vol >= 70)) ) icon="🔊" ;; + $((vol >= 30)) ) icon="🔉" ;; + $((vol >= 1)) ) icon="🔈" ;; + * ) echo 🔇 && exit ;; +esac echo "$icon$vol%"