max=100 if [ $1 = 'source' ]; then object="@DEFAULT_AUDIO_SOURCE@" elif [ $1 = 'sink' ]; then object="@DEFAULT_AUDIO_SINK@" else exit 1 fi; if [ $2 = 'mute' ]; then wpctl set-mute $object toggle exit 0 fi; val=$(wpctl get-volume $object | awk '{print $2}') val=$(( (100*${val%%.*}) + ${val#*.} )) val=$(( $val + $2 )) if [ $val -gt $max ]; then val=$max elif [ $val -lt 0 ]; then val=0 fi; dec=$(( val / 100 )) frac=$(( val % 100 )) if [ $frac -lt 10 ]; then frac="0$frac" fi wpctl set-volume $object "$dec.$frac"