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
master
Jonathan Hodgson 4 years ago
parent f08de9faf5
commit 0af5b4e4df
  1. 17
      bin/.bin/volume

@ -24,17 +24,34 @@ function drawBar(){
case "$1" in case "$1" in
"up") "up")
if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl up
else
amixer -q -D default sset Master 5%+ unmute amixer -q -D default sset Master 5%+ unmute
fi
;; ;;
"down") "down")
if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl down
else
amixer -q -D default sset Master 5%- unmute amixer -q -D default sset Master 5%- unmute
fi
;; ;;
"toggle") "toggle")
if type -p pulseaudio-ctl 2> /dev/null; then
pulseaudio-ctl mute
else
amixer -q -D default sset Master toggle amixer -q -D default sset Master toggle
fi
esac esac
if type -p pulseaudio-ctl 2> /dev/null; then
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 '[%')" 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 '[')" 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