#!/usr/bin/env fish function open_semester set recent "/home/never/Documents/InNa/25_WiSe/" set options (ls $recent) set input (menu $options) alacritty --working-directory $recent/$input end function open_location set options "25_WiSe" "󰈙 Documents" "󰝚 Music" "󰋩 Pictures" "󰕧 Videos" "󰇚 Downloads" set input (menu $options) switch $input case $options[1] open_semester case $options[2] alacritty --working-directory (xdg-user-dir)/Documents/ case $options[3] alacritty --working-directory (xdg-user-dir)/Music/ case $options[4] alacritty --working-directory (xdg-user-dir)/Pictures/ case $options[5] alacritty --working-directory (xdg-user-dir)/Videos/ case $options[6] alacritty --working-directory (xdg-user-dir)/Downloads/ end end function audio_source set dump (string trim -c '"' (pw-dump | jq '.[] | select(.info.props."media.class" == "Audio/Source")' | jq '.id, .info.props."node.nick"')) set ids set names for i in (seq (count $dump)) if test (math $i % 2) -eq 0 set -a names $dump[$i] else set -a ids $dump[$i] end end set input (menu $names) wpctl set-default $ids[(contains -i $input $names)] end function audio_sink set dump (string trim -c '"' (pw-dump | jq '.[] | select(.info.props."media.class" == "Audio/Sink")' | jq '.id, .info.props."node.nick"')) set ids set names for i in (seq (count $dump)) if test (math $i % 2) -eq 0 set -a names $dump[$i] else set -a ids $dump[$i] end end set input (menu $names) wpctl set-default $ids[(contains -i $input $names)] end set options "󱂵 Open Location" "󰐓 Clear Playlist" "󰌾 Lock" "󰍬 Select Audio Source" "󰕾 Select Audio Sink" set input (menu $options) switch $input case $options[1] open_location case $options[2] mpc clear case $options[3] exec swaylock case $options[4] audio_source case $options[5] audio_sink end