Allow iterating all windows at the mux layer. windows allow iterating tabs. Tabs allow iterating panes. Versions of iteration that report additional information (like index, active and positioning) are also added. Panes can now reference their containing tab and window objects. Tabs can now reference their containing window object. refs: https://github.com/wez/wezterm/issues/1598 (sort of) refs: https://github.com/wez/wezterm/issues/225
2.6 KiB
MuxWindow
Since: 20220624-141144-bd1b7c5d
MuxWindow
represents a window that is managed by the multiplexer.
It has the following methods:
window:window_id()
Returns the window id
window:get_workspace()
Returns the name of the workspace to which the window belongs.
window:set_workspace("something")
Changes the name of the workspace to which the window belongs.
window:spawn_tab{}
Spawns a program into a new tab within this window, returning the MuxTab, MuxPane and MuxWindow objects associated with it:
local tab, pane, window = window:spawn_tab{}
When no arguments are passed, the default program is spawned.
The following parameters are supported:
args
Specifies the argument array for the command that should be spawned. If omitted the default program for the domain will be spawned.
window:spawn_tab{args={"top"}}
cwd
Specify the current working directory that should be used for the program.
If unspecified, follows the rules from default_cwd
window:spawn_tab{cwd="/tmp"}
set_environment_variables
Sets additional environment variables in the environment for this command invocation.
window:spawn_tab{set_environment_variables={"FOO"="BAR"}}
domain
Specifies the multiplexer domain into which the program should
be spawned. The default value is assumed to be "CurrentPaneDomain"
,
which causes the domain from the currently active pane to be used.
You may specify the name of one of the multiplexer domains defined in your configuration using the following:
window:spawn_tab{domain={DomainName="my.name"}}
window:get_title()
Since: nightly builds only
Returns the window title as set by OSC 0
, OSC 2
in a contained pane, or through
window:set_title()
.
window:set_title(TITLE)
Since: nightly builds only
Sets the window title to the provided string. Note that applications may subsequently change the title via escape sequences.
window:set_title("my title")
window:tabs()
Since: nightly builds only
Returns an array table holding each of the MuxTab objects contained within this window.
window:tabs_with_info()
Since: nightly builds only
Returns an array table holding an extended info entry for each of the tabs contained within this window.
Each element is a lua table with the following fields:
index
- the 0-based tab indexis_active
- a boolean indicating whether this is the active tab within the windowtab
- the MuxTab object