diff options
-rwxr-xr-x | volsv | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -61,21 +61,21 @@ get () { volu) case "$AUDIO_SERVER" in SNDIO) printf "%s%%" "$(sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2)" ;; - PULSE|PW) printf "%s\n" "$(pactl get-sink-volume "$(pactl get-default-sink)")" ;; + PULSE|PW) pactl get-sink-volume "$(pactl get-default-sink)" | head -1 | awk '{print ($5 + $12) / 2 "%"}' ;; ALSA) amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' ;; esac ;; mute) case "$AUDIO_SERVER" in SNDIO) sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/' ;; - PULSE|PW) pactl get-sink-mute "$(pactl get-default-sink)" | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/' ;; + PULSE|PW) pactl get-sink-mute "$(pactl get-default-sink)" | cut -d' ' -f2 | sed 's/no/\[on\]/;s/yes/\[off\]/' ;; ALSA) amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1 ;; esac ;; both) case "$AUDIO_SERVER" in SNDIO) printf "%s%s%%" "$(sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/')" "$(sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2)" ;; - PULSE|PW) printf "%s%s%%\n" "$(pactl get-sink-mute "$(pactl get-default-sink)" | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/')" "$(pactl get-sink-volume "$(pactl get-default-sink)")" ;; + PULSE|PW) printf "%s%s\n" "$(pactl get-sink-mute "$(pactl get-default-sink)" | cut -d' ' -f2 | sed 's/no/\[on\]/;s/yes/\[off\]/')" "$(pactl get-sink-volume "$(pactl get-default-sink)" | head -1 | awk '{print ($5 + $12) / 2 "%"}')" ;; ALSA) printf "%s%s" "$(amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1)" "$(amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g')" ;; esac ;; |