#!/bin/sh set_out() { sinks=$(pamixer --list-sinks | grep -v '^Sinks:$' | awk -F'"' '{print $4}') sel_sink=$(printf "$sinks" | dmenu -l 10 -i -p "wut") pactl set-default-sink $(pamixer --list-sinks | grep "$sel_sink" | awk '{print $1}') kill -46 $(pidof dwmblocks) } set_in() { sources=$(pamixer --list-sources | grep -v '^Sources:$' | grep -v 'Monitor of ' | awk -F'"' '{print $4}') sel_source=$(printf "$sources" | dmenu -l 10 -i -p "wut") pactl set-default-source $(pamixer --list-sources | grep "$sel_source" | awk '{print $1}') kill -46 $(pidof dwmblocks) } sinks=$(pamixer --list-sinks | grep -v '^Sinks:$' | awk -F'"' '{print $4}') [ "$(echo "$sinks" | wc -l)" -lt 2 ] && { notify-send "🔊 Only one sink detected."; exit; } chosen=$(printf "output\\ninput" | dmenu -i -p "What to change:") case "$chosen" in output) set_out ;; input) set_in ;; *) exit 1 ;; esac