#!/bin/bash -e NOTIFY='notify-send -t 1000 -a changeVolume -u low' NOTIFYVOL="$NOTIFY -i audio-volume-high" SINK='@DEFAULT_AUDIO_SINK@' WPCUR="$(wpctl get-volume "$SINK")" CUR="$((10#$(tr -dc '0-9' <<< "$WPCUR")))" grep -q MUTED <<< "$WPCUR" && MUTE=1 || MUTE=0 if [ "$1" == 'm' ]; then if [ "$MUTE" = 1 ]; then wpctl set-mute "$SINK" 0 $NOTIFYVOL -h string:synchronous:vol -h int:value:"$CUR" "$CUR%" else wpctl set-mute "$SINK" 1 $NOTIFY -i audio-volume-muted -h string:synchronous:vol "Mute" fi else case "${1:0:1}" in '') echo "$CUR"; exit ;; '+'|'-') CUR="$((CUR - CUR % $1 + $1))" [ "$CUR" -lt 0 ] && CUR=0 [ "$CUR" -gt 150 ] && CUR=150 ;; *) CUR="$1" ;; esac wpctl set-volume "$SINK" "$CUR%" if [ "$MUTE" = 1 ]; then wpctl set-mute "$SINK" 0 fi $NOTIFYVOL -h string:synchronous:vol -h int:value:"$CUR" "$CUR%" fi # update sbar kill -35 "$(cat "$HOME/.cache/pidofbar")"