dotfiles/.local/scripts/windowmenu.fish

22 lines
725 B
Fish
Raw Normal View History

2026-03-26 23:10:37 +01:00
#!/usr/bin/env fish
set windows
# while read i; do
# declare -a line_array="($i)"
# window_ids+=(${line_array[0]})
# window_titles+=("${line_array[1]} - ${line_array[2]} \0icon\x1f${line_array[1]}")
# done <<<$(niri msg --json windows | jq -r '.[] | [ .id, .app_id, .title] | "\""+join ("\" \"")+"\""')
#
set windows (niri msg --json windows | jq -r '.[] | [ .id, .app_id, .title] | join(" ")')
set ids (string split --max 2 --field 1 " " $windows)
for window in $windows
set -a options (string join -- ' ' (string split --max 1 --fields 2 ' ' $window) "\0icon\x1f$(string split --max 2 --field 2 ' ' $window)" )
end
set input (menu --index $options)
niri msg action focus-window --id $ids[(math "$input+1")]