34 lines
539 B
Bash
Executable file
34 lines
539 B
Bash
Executable file
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"
|