47 lines
1.2 KiB
Bash
Executable File
47 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
msgTag="volume"
|
|
TIME=1000
|
|
|
|
case "$1" in
|
|
up)
|
|
wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
|
;;
|
|
down)
|
|
wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-
|
|
;;
|
|
mute)
|
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
volume=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print int($2*100)}')
|
|
mute=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -q MUTED && echo "yes" || echo "no")
|
|
if [[ "$mute" == "yes" ]]; then
|
|
dunstify -t $TIME \
|
|
-a "Volume" \
|
|
-h string:x-dunst-stack-tag:$msgTag \
|
|
"muted"
|
|
else
|
|
dunstify -t $TIME \
|
|
-a "Volume" \
|
|
-h string:x-dunst-stack-tag:$msgTag \
|
|
-h int:value:"$volume" \
|
|
"unmuted"
|
|
fi
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Usage: $0 [up/down/mute/mic]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
volume=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print int($2*100)}')
|
|
mute=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -q MUTED && echo "yes" || echo "no")
|
|
|
|
if [[ "$mute" != "yes" ]]; then
|
|
dunstify -t $TIME \
|
|
-a "Volume" \
|
|
-h string:x-dunst-stack-tag:$msgTag \
|
|
-h int:value:"$volume" \
|
|
"$1"
|
|
fi
|