diff options
author | Vinny Meller | 2021-10-03 21:38:15 -0500 |
---|---|---|
committer | Vinny Meller | 2021-10-03 21:38:15 -0500 |
commit | e2a87bfc1c1108a08a1fbbbc7287d95c4a3eb1f6 (patch) | |
tree | 672d6ce95ae94edf7319baa8fbc32a3a537e978d /pulseaudio-nextsink | |
download | aur-e2a87bfc1c1108a08a1fbbbc7287d95c4a3eb1f6.tar.gz |
pkg info
Diffstat (limited to 'pulseaudio-nextsink')
-rwxr-xr-x | pulseaudio-nextsink | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pulseaudio-nextsink b/pulseaudio-nextsink new file mode 100755 index 000000000000..14494d5f1f43 --- /dev/null +++ b/pulseaudio-nextsink @@ -0,0 +1,30 @@ +#!/bin/bash +# Iterates through the list of available sinks from pactl +# Made to be used with a hotkey to quickly swap between outputs. Therefore takes no inputs. + +default_sink_line=$(pactl list short sinks | grep $(pactl get-default-sink)) +default_sink_arr=( $default_sink_line ) +default_sink_num=${default_sink_arr[0]} # The number of the currently default sink. Not using the whole line because they can change frequently + +readarray -t sink_names <<<"$(pactl list short sinks)" +last_sink_active=false +for sink_name in "${sink_names[@]}" +do + sink_arr=( $sink_name ) + sink_num=${sink_arr[0]} + if [ "$last_sink_active" = true ]; then + pactl set-default-sink $sink_num + echo "Set pulse default sink to number $sink_num" + exit 0 + fi + if [ "$default_sink_num" = "$sink_num" ]; then + last_sink_active=true + fi +done +# If never got to 1 past the currently active sink in the loop, sets sink to first in the list +first_sink=${sink_names[0]} +first_sink_arr=( $first_sink ) +first_sink_num=${first_sink_arr[0]} +pactl set-default-sink $first_sink_num +echo "Set pulse default sink to number $first_sink_num" +exit 0 |