#!/bin/bash
# Volume control with dunst notification

case "$1" in
    up)
        pactl set-sink-volume @DEFAULT_SINK@ +5%
        ;;
    down)
        pactl set-sink-volume @DEFAULT_SINK@ -5%
        ;;
    mute)
        pactl set-sink-mute @DEFAULT_SINK@ toggle
        ;;
esac

VOLUME=$(pactl get-sink-volume @DEFAULT_SINK@ | grep -o '[0-9]*%' | head -1)
MUTE=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')

if [[ "${MUTE}" == "yes" ]]; then
    dunstify -a "volume" -u low -r 9999 -h int:value:0 " MUTE"
else
    VOL_NUM=${VOLUME%\%}
    dunstify -a "volume" -u low -r 9999 -h int:value:${VOL_NUM} " ${VOLUME}"
fi
