#!/bin/bash set -e SINK='@DEFAULT_SINK@' VOL="$(pactl get-sink-volume "$SINK")" VOL="$(grep -Po '\d+(?=%)' <<< "$VOL" | head -n 1)" VOL="$((VOL - VOL % "$1"))" case "${1:0:1}" in '') exit 1 ;; '+'|'-') VOL="$((VOL + "$1"))" ;; *) VOL="$1" ;; esac [ "$VOL" -lt 0 ] && VOL=0 [ "$VOL" -gt 100 ] && VOL=100 pactl set-sink-volume "$SINK" "$VOL%" pactl set-sink-mute "$SINK" 0 if [ -t 1 ]; then echo "$VOL" fi