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 | |
download | aur-e2a87bfc1c1108a08a1fbbbc7287d95c4a3eb1f6.tar.gz |
pkg info
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | README.md | 12 | ||||
-rwxr-xr-x | pulseaudio-nextsink | 30 |
4 files changed, 70 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a32ddd7d371b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,12 @@ +pkgbase = pulseaudio-nextsink + pkgdesc = Swaps audio sink to the next in the list via pactl + pkgver = 1.0.0 + pkgrel = 1 + url = https://www.github.com/vinnymeller/pulseaudio-nextsink + arch = x86_64 + depends = pulseaudio + depends = bash + source = pulseaudio-nextsink + sha512sums = 28840b89153bd72f9a0d1376c2165d782830f4a9817ce89d107850e76d29048f9b92436dca78829c36a535d3d31292312839e15ef087ef697da0d84517484210 + +pkgname = pulseaudio-nextsink diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..eb484a1c7fb4 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,16 @@ +# Maintainer: Vinny Meller (vinnymeller@gmail.com) +pkgname="pulseaudio-nextsink" +pkgver="1.0.0" +pkgrel="1" +pkgdesc="Swaps audio sink to the next in the list via pactl" +arch=("x86_64") +url="https://www.github.com/vinnymeller/pulseaudio-nextsink" +depends=('pulseaudio' 'bash') +source=("pulseaudio-nextsink") +sha512sums=("28840b89153bd72f9a0d1376c2165d782830f4a9817ce89d107850e76d29048f9b92436dca78829c36a535d3d31292312839e15ef087ef697da0d84517484210") + +package() { + mkdir -p "${pkgdir}/usr/bin" + cp "${srcdir}/pulseaudio-nextsink" "${pkgdir}/usr/bin/pulseaudio-nextsink" + chmod +x "${pkgdir}/usr/bin/pulseaudio-nextsink" +} diff --git a/README.md b/README.md new file mode 100644 index 000000000000..795850c88d82 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# pulseaudio-nextsink + +Each call to pulseaudio-nextsink iterates through the list of output sinks in pulseaudio via pactl + +Meant to be used with a hotkey daemon for easy access + +example sxhkd config I use with this: + +``` +alt + e ; a + pulseaudio-nextsink +``` 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 |