2021-08-23 20:25:41 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2021-08-24 23:20:35 +02:00
|
|
|
set_output() {
|
|
|
|
sel_sink=$(printf "$sinks" | dmenu -l 10 -i -p "select sink")
|
2021-08-24 23:22:23 +02:00
|
|
|
pactl set-default-sink $(pactl list sinks | grep -B 1 "$sel_sink" | awk -F':' '/Name:/ {print $2}')
|
2021-08-23 20:25:41 +02:00
|
|
|
kill -46 $(pidof dwmblocks)
|
|
|
|
}
|
|
|
|
|
2021-08-24 23:20:35 +02:00
|
|
|
set_input() {
|
|
|
|
sel_source=$(printf "$sources" | dmenu -l 10 -i -p "select source")
|
2021-08-24 23:22:23 +02:00
|
|
|
pactl set-default-source $(pactl list sources | grep -B 1 "$sel_source" | awk -F':' '/Name:/ {print $2}')
|
2021-08-23 20:25:41 +02:00
|
|
|
kill -46 $(pidof dwmblocks)
|
|
|
|
}
|
|
|
|
|
2021-08-24 23:20:35 +02:00
|
|
|
sinks=$(pactl list sinks | awk -F':' '/Description:/ {print $2}')
|
2021-08-24 23:22:23 +02:00
|
|
|
sources=$(pactl list sources | grep -v 'Monitor of ' | awk -F':' '/Description:/ {print $2}')
|
2021-08-23 20:25:41 +02:00
|
|
|
[ "$(echo "$sinks" | wc -l)" -lt 2 ] &&
|
2021-08-24 23:35:49 +02:00
|
|
|
{ notify-send "🔊 Nothing to switch to."; exit; }
|
2021-08-23 20:25:41 +02:00
|
|
|
|
2021-08-24 23:20:35 +02:00
|
|
|
chosen=$(printf "output\\ninput" | dmenu -i -p "select type")
|
2021-08-23 20:25:41 +02:00
|
|
|
case "$chosen" in
|
2021-08-24 23:20:35 +02:00
|
|
|
output) set_output ;;
|
|
|
|
input) set_input ;;
|
2021-08-23 20:25:41 +02:00
|
|
|
*) exit 1 ;;
|
|
|
|
esac
|