aboutsummaryrefslogtreecommitdiff
path: root/audiopicker
diff options
context:
space:
mode:
authorjoott <joshott16@gmail.com>2025-09-21 08:40:06 -0400
committerjoott <joshott16@gmail.com>2025-09-21 08:40:06 -0400
commit790d81829dfe7f74fc185fb87a5ad054fd6ecdb6 (patch)
tree7044b110b47d03fe5904cb14d0c6ae6928fa1db1 /audiopicker
parent1f14ca717b1828ff7288d905264dfb0b843abe60 (diff)
downloadbin-790d81829dfe7f74fc185fb87a5ad054fd6ecdb6.tar.gz
bin-790d81829dfe7f74fc185fb87a5ad054fd6ecdb6.zip
audio device switcher
Diffstat (limited to 'audiopicker')
-rwxr-xr-xaudiopicker20
1 files changed, 20 insertions, 0 deletions
diff --git a/audiopicker b/audiopicker
new file mode 100755
index 0000000..fc04462
--- /dev/null
+++ b/audiopicker
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+dev="$(pactl -f json list sinks | python -c "
+import json, sys
+for dev in json.load(sys.stdin):
+ print(dev['description'])
+" | rofi -dmenu)"
+
+if [ -z "$dev" ]; then
+ exit 0
+fi
+
+name="$(pactl -f json list sinks | python -c"
+import json, sys
+for dev in json.load(sys.stdin):
+ if dev['description'] == sys.argv[1]:
+ print(dev['name'], end='')
+" "$dev")"
+
+pactl set-default-sink $name