summaryrefslogtreecommitdiff
path: root/ar/.local/bin/statusbar/sb-audioup
diff options
context:
space:
mode:
Diffstat (limited to 'ar/.local/bin/statusbar/sb-audioup')
-rwxr-xr-xar/.local/bin/statusbar/sb-audioup18
1 files changed, 18 insertions, 0 deletions
diff --git a/ar/.local/bin/statusbar/sb-audioup b/ar/.local/bin/statusbar/sb-audioup
new file mode 100755
index 0000000..e03a113
--- /dev/null
+++ b/ar/.local/bin/statusbar/sb-audioup
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Updates the volume and mic statusbar modules when audio devices change
+# (e.g. bluetooth/usb device connect/disconnect, volume/mute changed outside dwm)
+
+volume() { pkill -RTMIN+4 "${STATUSBAR:-dwmblocks}" 2>/dev/null; }
+mic() { pkill -RTMIN+5 "${STATUSBAR:-dwmblocks}" 2>/dev/null; }
+
+pactl subscribe 2>/dev/null | while read -r line; do
+ case "$line" in
+ *" on sink #"*) volume ;;
+ *" on source #"*) mic ;;
+ *" on card #"* | *" on server"*)
+ volume
+ mic
+ ;;
+ esac
+done