summary refs log tree commit diff
path: root/bin/hibiki/soundswitch
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-01-26 17:16:07 +0100
committerRobert Günzler <r@gnzler.io>2020-01-26 18:00:59 +0100
commitf5d56602df70950de6b7d40966b00c9939c81763 (patch)
treeb50ffeb5496fe3525cc1bab2629389ced95435b7 /bin/hibiki/soundswitch
Intial commit of v2
See https://drewdevault.com/2019/12/30/dotfiles.html
Diffstat (limited to 'bin/hibiki/soundswitch')
-rwxr-xr-xbin/hibiki/soundswitch41
1 files changed, 41 insertions, 0 deletions
diff --git a/bin/hibiki/soundswitch b/bin/hibiki/soundswitch
new file mode 100755
index 0000000..9ba73c9
--- /dev/null
+++ b/bin/hibiki/soundswitch
@@ -0,0 +1,41 @@
+#!/bin/sh
+set -ex
+
+global=
+focused=
+profile=
+
+while getopts fgp: name; do
+	case $name in
+		g) global=1 ;;
+		f) focused=1 ;;
+		p) profile=1 ;;
+		?) printf "usage: %s [-gf]\n" "$0" >&2; exit 2 ;;
+	esac
+done
+
+if [ "$#" -lt 1 ]; then
+	printf "global\nfocused\nprofile\n" | menu | {
+		read -r line
+		case "${line}" in
+			global) exec "$0" -g ;;
+			focused) exec "$0" -f ;;
+			profile) exec "$0" -p ;;
+		esac
+	}
+fi
+
+if [ -n "${global}" ]; then
+	pactl list short sinks | awk '{print $2}' | menu | xargs pactl set-default-sink
+	exit 0
+fi
+
+if [ -n "${focused}" ]; then
+	printf "not implemented\n" >&2
+	exit 1
+fi
+
+if [ -n "${profile}" ]; then
+	printf "not implemented\n" >&2
+	exit 1
+fi