diff --git a/.config/fish/functions/mkfish.fish b/.config/fish/functions/mkfish.fish index 51c08428..f492daeb 100644 --- a/.config/fish/functions/mkfish.fish +++ b/.config/fish/functions/mkfish.fish @@ -5,6 +5,10 @@ function mkfish --description 'Make an executable fish script' end # each arg is a script to create for name in $argv + if test -f "$name.fish" + echo Skipping existing file... + continue + end printf '#!/usr/bin/env fish'\n\n"echo $name" >"$name.fish" chmod +x "$name.fish" path resolve "$name.fish" diff --git a/.config/waybar/scripts/toggle-sink.fish b/.config/waybar/scripts/toggle-sink.fish index 18b63f5e..245ea798 100755 --- a/.config/waybar/scripts/toggle-sink.fish +++ b/.config/waybar/scripts/toggle-sink.fish @@ -1,11 +1,22 @@ #!/usr/bin/env fish +argparse h/help -- $argv +if set -q _flag_h + echo "Cycle between pactl sinks specified as arguments." +end set -l sinks alsa_output.usb-FIIO_FiiO_USB_DAC-E10-01.analog-stereo alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo +if test (count $argv) -ne 0 + set sinks $argv +end set -l current (pactl get-default-sink) -for i in sinks - if test "$i" != "$current" - pactl set-default-sink "$i" - return 0 +set -l idx 0 +for i in $sinks + if test "$i" = "$current" + break end + set idx (math $idx + 1) end + +set -l next_idx (math "($idx + 1)" % (count $sinks)) +pactl set-default-sink $sinks[(math $next_idx + 1)]