Files
dots/config/dunst/scripts/volume-control
2025-11-24 19:46:30 +07:00

45 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Description: Configure volume level and show notification using dunst
# Usage:
# ./volume-control.sh up
# ./volume-control.sh down
# ./volume-control.sh mute
# Dependencies: pamixer, dunst
# Github: https://gist.github.com/basilioss/baa36bf5d4b91b50da81313281dbc887
#iconSound="audio-volume-high"
#iconMuted="audio-volume-muted"
iconSound="/home/crud/.config/dunst/scripts/volume-up.png"
iconMuted="/home/crud/.config/dunst/scripts/audio-mute.png"
function get_volume {
pamixer --get-volume
}
function send_notification {
if [ "$(pamixer --get-mute)" = true ]; then
dunstify -i $iconMuted -r 2593 -u normal "mute"
else
dunstify -i $iconSound -r 2593 -u normal -h int:value:"$1" "$1%"
fi
}
case $1 in
up)
pamixer --unmute
pamixer --increase 5
send_notification "$(get_volume)"
;;
down)
pamixer --unmute
pamixer --decrease 5
send_notification "$(get_volume)"
;;
mute)
pamixer --toggle-mute
send_notification "$(get_volume)"
;;
esac