Changes the volume script to work with pulseaudio-ctl

https://github.com/graysky2/pulseaudio-ctl

using amixer is a pain and this takes a lot of the complexity out of it.

If pulseaudio-ctl isn't available, the script will still use amixer
Jonathan Hodgson 4 years ago
parent b64763b89c
commit 4b7c769b1f
  1. 27
      bin/.bin/volume

@ -24,17 +24,34 @@ function drawBar(){
case "$1" in case "$1" in
"up") "up")
amixer -q -D default sset Master 5%+ unmute if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl up
else
amixer -q -D default sset Master 5%+ unmute
fi
;; ;;
"down") "down")
amixer -q -D default sset Master 5%- unmute if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl down
else
amixer -q -D default sset Master 5%- unmute
fi
;; ;;
"toggle") "toggle")
amixer -q -D default sset Master toggle if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl mute
else
amixer -q -D default sset Master toggle
fi
esac esac
volume="$(amixer -D default sget Master | grep -o '\[.*\%' | head -n 1 | tr -d '[%')" if type -p pulseaudio-ctl 2> /dev/null; then
speakerStatus="$(amixer -D default sget Master | grep -o '\[\(on\|off\)' | head -n 1 | tr -d '[')" volume="$(pulseaudio-ctl full-status | cut -d ' ' -f1)"
speakerStatus="$(pulseaudio-ctl full-status | cut -d ' ' -f2 | sed 's/no/on/g')"
else
volume="$(amixer -D default sget Master | grep -o '\[.*\%' | head -n 1 | tr -d '[%')"
speakerStatus="$(amixer -D default sget Master | grep -o '\[\(on\|off\)' | head -n 1 | tr -d '[')"
fi
if [[ "$speakerStatus" == "on" ]]; then if [[ "$speakerStatus" == "on" ]]; then

Loading…
Cancel
Save