From c7bf7a17a4d523b040b72adce33acdbe95840127 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Tue, 22 Oct 2024 06:42:24 +0200 Subject: Added pulseaudio sink toggler --- shenanigans.sh | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'shenanigans.sh') diff --git a/shenanigans.sh b/shenanigans.sh index e6a210a..30f2815 100755 --- a/shenanigans.sh +++ b/shenanigans.sh @@ -98,8 +98,9 @@ backup() { cd $CWD } +# Simple ticket system based on https://github.com/mitjafelicijan/ticket. export TICKETS=~/Vault/tickets -tt() { # https://github.com/mitjafelicijan/ticket +tt() { if [ "$(uname -s)" != "Linux" ]; then printf "Currently only Linux is supported.\n" return 1 @@ -128,7 +129,7 @@ tt() { # https://github.com/mitjafelicijan/ticket printf "status: open\n" >> $ticket_file printf "title: ?\n" >> $ticket_file printf "====\n" >> $ticket_file - printf "Describe your problem here\n" >> $ticket_file + printf "Description...\n" >> $ticket_file $EDITOR $ticket_file ;; -o|-open) @@ -172,3 +173,26 @@ tt() { # https://github.com/mitjafelicijan/ticket esac } +# Toggles between pulseaudio sinks in round-robin. +togglesink() { + sinks=($(pactl list short sinks | awk '{print $2}')) + current_sink=$(pactl get-default-sink) + current_index=-1 + + for i in "${!sinks[@]}"; do + if [[ "${sinks[$i]}" == "$current_sink" ]]; then + current_index=$i + break + fi + done + + if [[ $current_index -eq -1 ]]; then + next_index=0 + else + next_index=$(( (current_index + 1) % ${#sinks[@]} )) + fi + + pactl set-default-sink "${sinks[$next_index]}" + notify-send "Switched to sink: ${sinks[$next_index]}" +} + -- cgit v1.2.3