dotfiles/.bin/OLD/metamixer

55 lines
1.2 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# add your volume and mute attributes here (mixerctl -af /dev/mixer?)
_volumelist="outputs.master outputs.play"
_mutelist="outputs.master.mute outputs.play_mute"
[ -z $1 ] && print "$0 [volume]" && exit 2
_mute() {
# $1 = device
# $2 = on/off
for _entry in $_mutelist;
do
if mixerctl -f $1 2>&1 | cut -d"=" -f1 | grep -q $_entry;
then
print "$1: $_entry => $2"
mixerctl -qf $1 $_entry=$2
fi
done
}
_vol() {
# $1 = device
# $2 = volume
for _entry in $_volumelist;
do
if mixerctl -f $1 2>&1 | cut -d"=" -f1 | grep -q $_entry;
then
print "$1: $_entry => $2"
mixerctl -qf $1 $_entry=$2
fi
done
}
for _mixdev in /dev/mixer*;
do
# do not follow symlinks (eg. /dev/mixer)
[ -h $_mixdev ] && continue
# if volume is 0 set volume and mute
# if volume is >0 set volume and unmute
if [ "$1" == "0" ]; then
_mute $_mixdev on
_vol $_mixdev 0
elif [ "$1" -gt "0" ] && [ "$1" -lt "1001" ]; then
_mute $_mixdev off
_vol $_mixdev $1
else
print "Use number between 0 and 1000"
exit 1
fi
done
printf "VOL\n" >> /tmp/lemonbar.fifo