1 function find_window(name
)
3 find_window_internal(name
)
5 screen
.input("window to find:", find_window_internal
)
9 function find_window_internal(name
)
10 display
= screen
.display()
11 canvases
= display
:get_canvases()
12 for i
, c
in pairs(canvases
) do
14 if w
~= nil and (w
.title
== name
or tostring(w
.number) == name
) then c
:select() return end
17 -- Try partial matches, just like 'select'
18 for i
, c
in pairs(canvases
) do
20 if w
~= nil and w
.title
:sub(1, name
:len()) == name
then c
:select() return end
23 -- We didn't find the desired window in any canvas
24 -- So switch to the window in the current canvas instead
25 screen
.command("select " .. name
)