aboutsummaryrefslogtreecommitdiff
path: root/shenanigans.sh
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-22 06:42:24 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-22 06:42:24 +0200
commitc7bf7a17a4d523b040b72adce33acdbe95840127 (patch)
tree9259142cfa29e7819d93c71cbcc549ff2210cc2a /shenanigans.sh
parent6fb6e6d94244c447eeed3e86c7e84c32f0c80838 (diff)
downloaddotfiles-c7bf7a17a4d523b040b72adce33acdbe95840127.tar.gz
Added pulseaudio sink toggler
Diffstat (limited to 'shenanigans.sh')
-rwxr-xr-xshenanigans.sh28
1 files changed, 26 insertions, 2 deletions
diff --git a/shenanigans.sh b/shenanigans.sh
index e6a210a..30f2815 100755
--- a/shenanigans.sh
+++ b/shenanigans.sh
@@ -98,8 +98,9 @@ backup() {
98 cd $CWD 98 cd $CWD
99} 99}
100 100
101# Simple ticket system based on https://github.com/mitjafelicijan/ticket.
101export TICKETS=~/Vault/tickets 102export TICKETS=~/Vault/tickets
102tt() { # https://github.com/mitjafelicijan/ticket 103tt() {
103 if [ "$(uname -s)" != "Linux" ]; then 104 if [ "$(uname -s)" != "Linux" ]; then
104 printf "Currently only Linux is supported.\n" 105 printf "Currently only Linux is supported.\n"
105 return 1 106 return 1
@@ -128,7 +129,7 @@ tt() { # https://github.com/mitjafelicijan/ticket
128 printf "status: open\n" >> $ticket_file 129 printf "status: open\n" >> $ticket_file
129 printf "title: ?\n" >> $ticket_file 130 printf "title: ?\n" >> $ticket_file
130 printf "====\n" >> $ticket_file 131 printf "====\n" >> $ticket_file
131 printf "Describe your problem here\n" >> $ticket_file 132 printf "Description...\n" >> $ticket_file
132 $EDITOR $ticket_file 133 $EDITOR $ticket_file
133 ;; 134 ;;
134 -o|-open) 135 -o|-open)
@@ -172,3 +173,26 @@ tt() { # https://github.com/mitjafelicijan/ticket
172 esac 173 esac
173} 174}
174 175
176# Toggles between pulseaudio sinks in round-robin.
177togglesink() {
178 sinks=($(pactl list short sinks | awk '{print $2}'))
179 current_sink=$(pactl get-default-sink)
180 current_index=-1
181
182 for i in "${!sinks[@]}"; do
183 if [[ "${sinks[$i]}" == "$current_sink" ]]; then
184 current_index=$i
185 break
186 fi
187 done
188
189 if [[ $current_index -eq -1 ]]; then
190 next_index=0
191 else
192 next_index=$(( (current_index + 1) % ${#sinks[@]} ))
193 fi
194
195 pactl set-default-sink "${sinks[$next_index]}"
196 notify-send "Switched to sink: ${sinks[$next_index]}"
197}
198