Tentu saja berpindah perangkat dengan menggunakan Applet juga berfungsi dengan baik. Tetapi hal yang paling keren tentang penulisan skrip adalah bahwa ia sangat cepat. Saya menempatkan milik saya misalnya di alt + s pintasan keyboard. jadi ketika saya ingin beralih dari headphone ke speaker, saya hanya perlu menekan alt + s.
Bagaimanapun. Andrew berkata:
Jika Anda memiliki lebih dari dua perangkat audio dan ingin bertukar ke perangkat lain, Anda harus mengganti logika on line 7 dengan beberapa persyaratan.
Itu yang saya lakukan. Saya membagikannya, kalau-kalau ada yang bermasalah:
#!/usr/bin/env bash
#sinks=($(pacmd list-sinks | grep index | \
# awk '{ if ($1 == "*") print "1",$3; else print "0",$2 }'))
sinks=($(pacmd list-sinks | grep index | \
awk '{ if ($1 == "*") print "1"; else print "0" }'))
inputs=($(pacmd list-sink-inputs | grep index | awk '{print $2}'))
#find active sink
active=0
for i in ${sinks[*]}
do
if [ $i -eq 0 ]
then active=$((active+1))
else break
fi
done
#switch to next sink
swap=$(((active+1)%${#sinks[@]}))
pacmd set-default-sink $swap &> /dev/null
for i in ${inputs[*]}; do pacmd move-sink-input $i $swap &> /dev/null; done
Apa yang saya lakukan secara berbeda adalah a) menemukan wastafel aktif dalam for for loop. Dan b) beralih ke bak cuci berikutnya dengan menambah indeks dengan 1. Lalu saya modulo hasilnya dengan jumlah bak cuci. Itu meyakinkan bahwa misalnya ketika memiliki 3 tenggelam, (2 + 1)% 3 = 0. Jadi dari indeks sink 2 kita akan beralih ke indeks sink 0.
Dengan cara ini saklar memungkinkan untuk bergerak ke atas melalui bak cuci yang tersedia.