diff options
-rwxr-xr-x | volsv | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -12,6 +12,7 @@ sndiosv () { "mic" | "-m") sndioctl input.mute=! ;; "getv" | "-v") printf "%s%%" `sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2` ;; "getm" | "-g") sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/' ;; + "getvm" | "-vg") 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` ;; *) printerror "$1" ;; esac } @@ -24,6 +25,7 @@ pulsesv () { "mic" | "-m") pamixer --source 1 -t ;; "getv" | "-v") printf "%s%%\n" "$(pamixer --get-volume)" ;; "getm" | "-g") pamixer --get-mute | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/' ;; + "getvm" | "-vg") printf "%s%s%%\n" `pamixer --get-mute | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/'` "$(pamixer --get-volume)" ;; *) printerror "$1" ;; esac } @@ -38,6 +40,7 @@ alsasv () { "mic" | "-m") amixer sset Capture toggle ;; "getv" | "-v") amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' ;; "getm" | "-g") amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1 ;; + "getvm" | "-vg") 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'` ;; *) printerror "$1" ;; esac elif [ -z `amixer -D $DEVICE controls` ]; then @@ -48,6 +51,7 @@ alsasv () { "mic" | "-m") amixer sset Capture toggle ;; "getv" | "-v") amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' ;; "getm" | "-g") amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1 ;; + "getvm" | "-vg") 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'` ;; *) printerror "$1" ;; esac else @@ -58,6 +62,7 @@ alsasv () { "toggle" | "-t") amixer -D "$DEVICE" sset "$MIXER" toggle ;; "getv" | "-v") amixer -D "$DEVICE" sget "$MIXER" | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' | head -1;; "getm" | "-g") amixer -D "$DEVICE" sget "$MIXER" | grep '\[o[fn]' | cut -d' ' -f9 | head -1 ;; + "getvm" | "-vg") printf "%s%s" `amixer -D "$DEVICE" sget "$MIXER" | grep '\[o[fn]' | cut -d' ' -f9 | head -1` `amixer -D "$DEVICE" sget "$MIXER" | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' | head -1` ;; *) printerror "$1" ;; esac fi @@ -77,10 +82,15 @@ get volume level: 'getv' or '-v' get mute state: 'getm' or '-g'" && exit for i in $@; do - pgrep -x pulseaudio >/dev/null && pulsesv $i || \ - pgrep -x pipewire >/dev/null && pulsesv $i || \ - pgrep -x sndiod >/dev/null && sndiosv $i || \ + if pgrep -x pulseaudio >/dev/null; then + pulsesv $i + elif pgrep -x pipewire >/dev/null; then + pulsesv $i + elif pgrep -x sndiod >/dev/null; then + sndiosv $i + else alsasv $i + fi #pgrep -x dwmblocks >/dev/null && pkill -RTMIN+10 dwmblocks #pgrep -x dwmbar >/dev/null && dwmbar-signal volume done |