21 lines
725 B
Fish
Executable file
21 lines
725 B
Fish
Executable file
#!/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")]
|