diff options
Diffstat (limited to 'i3blocks')
-rwxr-xr-x | i3blocks/i3vol.sh | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/i3blocks/i3vol.sh b/i3blocks/i3vol.sh index c42eafb..0abf471 100755 --- a/i3blocks/i3vol.sh +++ b/i3blocks/i3vol.sh @@ -1,13 +1,29 @@ #!/bin/sh case $BLOCK_BUTTON in - 1) i3-msg "exec urxvt -e alsamixer" >/dev/null ;; - 3) pgrep -x dunst >/dev/null && notify-send -h string:x-canonical-private-synchronous:i3volHint -t 2000 "Click for alsamixer" ;; + 1) i3-msg 'exec urxvt -e alsamixer' >/dev/null ;; + 3) pgrep -x dunst >/dev/null && + notify-send -h string:x-canonical-private-synchronous:i3volHint -t 2000 'Click for alsamixer' ;; esac -vol=$(pactl list sinks | grep "Volume: f" | tail -n 1 | awk '{print $5}') -mute=$(pactl list sinks | grep "Mute:" | cut -d' ' -f2 | tail -n 1) -if [ "$mute" = "no" ]; then +sink="$(pactl list sinks short | + grep 'RUNNING' | + cut -f2)" + +vol="$(pactl list sinks | + grep -e 'Name' -e 'Volume: f' | + grep -A 1 "$sink" | + tail -n 1 | + awk '{print $5}' | + sed 's/%.*$/%/')" + +mute="$(pactl list sinks | + grep -e 'Name' -e 'Mute:' | + grep -A 1 "$sink" | + tail -n 1 | + cut -d' ' -f2)" + +if [ "$mute" = 'no' ]; then echo "🔊 $vol" else echo "🔇($vol)" |