summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xvolsv16
1 files changed, 13 insertions, 3 deletions
diff --git a/volsv b/volsv
index 60f14d7..928211e 100755
--- a/volsv
+++ b/volsv
@@ -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