diff options
-rwxr-xr-x | i3blocks/i3vol.sh | 26 | ||||
-rwxr-xr-x | selectAudioSink.sh | 12 | ||||
-rwxr-xr-x | vol.sh | 4 |
3 files changed, 36 insertions, 6 deletions
diff --git a/i3blocks/i3vol.sh b/i3blocks/i3vol.sh index c42eafb..0abf471 100755 --- a/i3blocks/i3vol.sh +++ b/i3blocks/i3vol.sh @@ -1,13 +1,29 @@ #!/bin/sh case $BLOCK_BUTTON in - 1) i3-msg "exec urxvt -e alsamixer" >/dev/null ;; - 3) pgrep -x dunst >/dev/null && notify-send -h string:x-canonical-private-synchronous:i3volHint -t 2000 "Click for alsamixer" ;; + 1) i3-msg 'exec urxvt -e alsamixer' >/dev/null ;; + 3) pgrep -x dunst >/dev/null && + notify-send -h string:x-canonical-private-synchronous:i3volHint -t 2000 'Click for alsamixer' ;; esac -vol=$(pactl list sinks | grep "Volume: f" | tail -n 1 | awk '{print $5}') -mute=$(pactl list sinks | grep "Mute:" | cut -d' ' -f2 | tail -n 1) -if [ "$mute" = "no" ]; then +sink="$(pactl list sinks short | + grep 'RUNNING' | + cut -f2)" + +vol="$(pactl list sinks | + grep -e 'Name' -e 'Volume: f' | + grep -A 1 "$sink" | + tail -n 1 | + awk '{print $5}' | + sed 's/%.*$/%/')" + +mute="$(pactl list sinks | + grep -e 'Name' -e 'Mute:' | + grep -A 1 "$sink" | + tail -n 1 | + cut -d' ' -f2)" + +if [ "$mute" = 'no' ]; then echo "🔊 $vol" else echo "🔇($vol)" diff --git a/selectAudioSink.sh b/selectAudioSink.sh new file mode 100755 index 0000000..58bf9f6 --- /dev/null +++ b/selectAudioSink.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# selectAudioSink.sh +# +# Sets an audio sink. + +port="$(pactl list sinks | + sed -n '/Ports/,/Active Port/p' | + sed '/Ports/d;/Active/d;s/:.*$//;s/^\s*//' | + dmenu -c -bw 3 -i -l 10)" + +pactl set-sink-port alsa_output.pci-0000_00_1f.3.analog-stereo "$port" @@ -1,5 +1,7 @@ #!/bin/sh -sink="$(pactl list sinks | grep "^Sink " | cut -d'#' -f2 | tail -n 1)" + +sink="@DEFAULT_SINK@" + if [ "$1" = "mute" ]; then pactl set-sink-mute "$sink" toggle else |