Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Pane configuration

Edit this page on GitHub

TmuxWorkspace 0.1.0-alpha.5 · Source

tmuxp compatibility reference. Examples using tmuxp run the Python reference. Local CLI status describes this port’s implemented coverage.

A pane can be a command string, a list of commands, or a mapping of settings. Each item in the window’s "panes" list creates one pane; a command list inside that item describes several commands in that same pane.

session_name: pane-example
start_directory: ./
windows:
- window_name: main
start_directory: ./
panes:
- echo one command
- [echo first command, echo second command]
- shell_command:
- echo configured pane
start_directory: ./
focus: true
- blank

Blank formsLink to section

Form inside "panes"Reference interpretation
null, omitted YAML value, blank, or "pane"Pane without its own commands
Empty mapping or empty listExpands to a pane without its own commands
Mapping with no shell_commandKeeps the pane’s other settings and uses no own commands
shell_command: null or a single null commandNo own commands
Empty string ""Sends an empty command, normally pressing Enter

A blank pane can still receive inherited before commands. Blank forms do not disable session/window/pane setup. An omitted window panes key is defaulted to one blank pane; an explicitly empty panes list is a different shape and should not be used as a portable way to request that default.

Pane keysLink to section

KeyMeaning
shell_commandString, ordered command list, or supported command dictionaries
shell_command_beforeSetup prepended after session/window before commands
start_directoryPane directory override
"shell"Shell/application launched for this pane
focusSelect this pane in its window
"environment"Environment map selected for this pane’s launch
"suppress_history"Pane history policy override
"enter"Default for whether to submit each command
sleep_before, sleep_afterDefault delays in seconds around each command

Launch a shell or type commandsLink to section

"shell" chooses the process tmux starts in the pane. shell_command sends text into the process already running there. Launching an application through shell can work with tmux’s remain-on-exit behavior, while typing that application’s name into a shell has different process semantics.

A pane shell overrides window_shell, including on the first pane. The first pane also supplies its directory and environment during window creation. Use an installed shell/application path rather than assuming the same executable exists on every host.

A successful build confirms command delivery, not application readiness or command exit status. See commands for Enter, timing, and history, and environment for launch-map selection.

Current Swift builderLink to section

The first pane is created with its window directory; split panes can supply a pane directory. This differs from tmuxp, which also lets the first pane override its directory. Command decoding accepts fewer forms.

See the native builder behavior and configuration source before using these fields through application code.

Reference sourceLink to section

loader.py; classic.py; blank-panes.yaml; pane-shell.yaml.

Esc

Type to search.