(scripts) fixed audio sink switcher for artix installation

This commit is contained in:
zegonix
2026-04-20 09:27:48 +02:00
parent 6cbc3615a2
commit d362f03534
+6 -7
View File
@@ -5,12 +5,11 @@ select_audio_sink() {
IFS=$(echo -en "\n\b") IFS=$(echo -en "\n\b")
devices=($(echo "${sinks}" | grep -ioP "(?<=name: ).*$")) devices=($(echo "${sinks}" | grep -ioP "(?<=name: ).*$"))
ids=($(echo "${sinks}" | grep -ioP "(?<=object.serial = ).*$")) names=($(echo "${sinks}" | grep -ioP "(?<=description: ).*$"))
names=($(echo "${sinks}" | grep -ioP "(?<=device\.description = ).*$"))
unset IFS unset IFS
if [[ "${#ids[@]}" != "${#names[@]}" ]] || [[ "${#ids[@]}" != "${#devices[@]}" ]]; then if [[ "${#devices[@]}" != "${#names[@]}" ]]; then
echo "ERROR: #ids (${#ids[@]}) != #names (${#names[@]})" echo "ERROR: #devices (${#devices[@]}) != #names (${#names[@]})"
return 1 return 1
fi fi
@@ -25,10 +24,10 @@ select_audio_sink() {
return 1 return 1
fi fi
if ((${#ids[@]} > 16)); then if ((${#devices[@]} > 16)); then
lines=16 lines=16
else else
lines=${#ids[@]} lines=${#devices[@]}
fi fi
if $(which rofi &>/dev/null); then if $(which rofi &>/dev/null); then
@@ -57,7 +56,7 @@ select_audio_sink() {
return 1 return 1
fi fi
pactl set-default-sink ${ids[$number]//\"/} pactl set-default-sink ${devices[$number]//\"/}
} }
select_audio_sink select_audio_sink