Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-ts latest

Window.selectLayout

Apply a named or custom layout.

Source and package
Qualified name
Window.selectLayout
Module
window
Declared in
Window
Package
libtmux
Source
packages/libtmux/src/window.ts
Other languages
PowerShell Julia Elixir PythonRubyLuaRustGoJavaC#C++Swift Kotlin Scala F#
selectLayout(layout: string): Promise<void>

Description#

Names accept unique abbreviations. Checksums and tree structure are checked before dispatch; tmux remains responsible for geometry and pruning. This API limits custom layouts to 8192 characters and 256 nested groups.

Applying any layout while a pane is zoomed unzooms the window first — tmux's own behavior, not this method's.

A window_layout saved earlier and passed back here is not guaranteed to put every pane back where it was. Before tmux 3.8, the classic layout string restores the arrangement's shape but can rotate which pane lands in which position; a JSON layout (3.8+, and only for a reader that actually receives JSON — see Server.connect()) restores exactly.

Only a preset name, a layout string that parses here, or JSON on tmux 3.8+ is accepted: anything else is refused rather than sent, because two ranges of tmux exit on a layout they cannot read and take every session on the socket with them. tmux 3.3 and 3.3a die on a value with no readable checksum, and 3.7 through 3.7d on one whose checksum is correct and whose cells are not — so the checksum alone is not evidence, and the layout is parsed in full before dispatch.

Examples#

await window.selectLayout("even-horizontal");
Parameters
Raises
  • TypeError – when the layout name or serialized tree is invalid.

  • TypeError – when layout is ambiguous, or is neither a preset nor a layout string this package can parse.

  • VersionTooLowError – when layout names a mirrored preset or JSON layout the running tmux is too old to apply.

tmux command#

The tmux commands behind selectLayout.

tmux C API#

The C declarations in tmux that implement these commands.

In other ports#

Set a window's pane layout

Esc

Type to search.

Reference previewOpen reference