diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 95ec95a..5a5a874 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -170,7 +170,7 @@ bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status -bindsym $mod+a exec --no-startup-id bash select-audio-sink.sh +bindsym $mod+a exec --no-startup-id bash audio-sink-switcher.sh ######################### diff --git a/scripts/audio-sink-switcher.sh b/scripts/audio-sink-switcher.sh index 609ddd2..43c6db1 100755 --- a/scripts/audio-sink-switcher.sh +++ b/scripts/audio-sink-switcher.sh @@ -31,7 +31,13 @@ select_audio_sink() { lines=${#ids[@]} fi - selection="$(printf "%s\n" "${names[@]//\"/}" | fuzzel --lines ${lines} --dmenu --select-index ${number})" + if $(which rofi &>/dev/null); then + selection="$(printf "%s\n" "${names[@]//\"/}" | rofi -dmenu -fixed-num-lines ${lines} -selected-row ${number} -case-smart)" + elif $(which fuzzel &>/dev/null); then + selection="$(printf "%s\n" "${names[@]//\"/}" | fuzzel --lines ${lines} --dmenu --select-index ${number})" + else + return 1 + fi if [[ -z "${selection}" ]]; then return 1