aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/vol
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/vol')
-rwxr-xr-x.local/bin/vol24
1 files 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" }'
}