From 3fc1af6ee5c09fc6a37dcabeb73025ba6fbee7e4 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Wed, 22 Jun 2022 10:37:50 +0200 Subject: Update vol script --- .local/bin/vol | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/.local/bin/vol b/.local/bin/vol index c3634dc..8993689 100755 --- a/.local/bin/vol +++ b/.local/bin/vol @@ -27,29 +27,31 @@ main() [ $# -lt 1 ] && usage && exit 1 + DEFAULT_SINK_NAME="$(pactl info | awk -F': ' '/Default Sink/ { print $NF }')" + DEFAULT_SINK_INDEX="$(pactl list short sinks | awk -v index_number="$DEFAULT_SINK_NAME" '$2==index_number {print $1}')" + case "$1" in inc) pactl set-sink-volume @DEFAULT_SINK@ +${2:-5}% > /dev/null - notify="Level increased to $(volume_level)%" + notify="Increased '$DEFAULT_SINK_NAME' ($DEFAULT_SINK_INDEX) to $(volume_level)%" ;; dec) pactl set-sink-volume @DEFAULT_SINK@ -${2:-5}% > /dev/null - notify="Level decreased to $(volume_level)%" + notify="Decreased '$DEFAULT_SINK_NAME' ($DEFAULT_SINK_INDEX) to $(volume_level)%" ;; set) pactl set-sink-volume @DEFAULT_SINK@ $2% > /dev/null - notify="Level set to $(volume_level)%" + notify="Set '$DEFAULT_SINK_NAME' ($DEFAULT_SINK_INDEX) to $(volume_level)%" ;; on) pactl set-sink-mute @DEFAULT_SINK@ 0 > /dev/null - notify="Unmuted at $(volume_level)%" + notify="Unmuted '$DEFAULT_SINK_NAME' ($DEFAULT_SINK_INDEX) at $(volume_level)%" ;; off) pactl set-sink-mute @DEFAULT_SINK@ 1 > /dev/null - notify="Muted" + notify="Muted '$DEFAULT_SINK_NAME' ($DEFAULT_SINK_INDEX)" ;; toggle) - echo $(volume_state) case "$(volume_state)" in on) exec $0 off ;; off) exec $0 on ;; @@ -57,26 +59,22 @@ main() ;; esac + printf "%s\n" "$notify" notify-send -n 19269 -s -t 2 -i "$(volume_icon)" "Volume" "$notify" } volume_level() { - sink_name="$(pactl info | awk -F': ' '/Default Sink/ { print $NF }')" - sink_index="$(pactl list short sinks | awk -v index_number="$sink_name" '$2==index_number {print $1}')" pactl list sinks \ - | perl -000ne 'if(/#'"$sink_index"'/){/(Volume:.*)/; print "$1\n"}' \ + | perl -000ne 'if(/#'"$DEFAULT_SINK_INDEX"'/){/(Volume:.*)/; print "$1\n"}' \ | sed 's/.*\ \(.*\)%.*/\1/g' } volume_state() { - sink_name="$(pactl info | awk -F': ' '/Default Sink/ { print $NF }')" - sink_index="$(pactl list short sinks | awk -v index_number="$sink_name" '$2==index_number {print $1}')" - pactl list sinks \ - | perl -000ne 'if(/#'"$sink_index"'/){/(Mute:.*)/; print "$1\n"}' \ + | perl -000ne 'if(/#'"$DEFAULT_SINK_INDEX"'/){/(Mute:.*)/; print "$1\n"}' \ | awk '$NF == "no" { print "on" } $NF == "yes" { print "off" }' } -- cgit v1.1