diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-22 06:42:24 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-22 06:42:24 +0200 |
| commit | c7bf7a17a4d523b040b72adce33acdbe95840127 (patch) | |
| tree | 9259142cfa29e7819d93c71cbcc549ff2210cc2a /shenanigans.sh | |
| parent | 6fb6e6d94244c447eeed3e86c7e84c32f0c80838 (diff) | |
| download | dotfiles-c7bf7a17a4d523b040b72adce33acdbe95840127.tar.gz | |
Added pulseaudio sink toggler
Diffstat (limited to 'shenanigans.sh')
| -rwxr-xr-x | shenanigans.sh | 28 |
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. | ||
| 101 | export TICKETS=~/Vault/tickets | 102 | export TICKETS=~/Vault/tickets |
| 102 | tt() { # https://github.com/mitjafelicijan/ticket | 103 | tt() { |
| 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. | ||
| 177 | togglesink() { | ||
| 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 | |||
