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

Go workspace builder behavior

Edit this page on GitHub

github.com/libtmux/libtmux-go/workspace · Source

Parse rejects unknown fields and gathers validation problems with their source lines. Parse and validation failures match ErrInvalidWorkspace. Errors from tmux while building use the core tmux package’s error categories.

Connection ownershipLink to section

Build creates the first session with a temporary control connection, uses that connection for construction, and closes it before returning an ordinary session handle. That connection is a tmux client while it exists: it appears in client listings, changes attachment counts, and can trigger client hooks.

BuildInto uses a session supplied by the caller. The caller owns the connection and its lifetime. InitialSessionRequest lets you create the initial session with the workspace’s settings before populating it.

A returned session from creation does not contain a fresh graph of relations. Take a server snapshot or use the search operations to inspect the windows and panes that were built.

Failures and directoriesLink to section

Building is not transactional. Earlier objects remain if a later operation fails. Check both the returned session and the error, then decide whether to inspect or remove the partial session. The builder uses strict errors even when the supplied server has another error policy.

A missing start_directory may make tmux start the pane in its home directory without failing. Workspace.MissingDirectories reports absent paths before construction; callers decide whether that is an error or something setup commands will resolve.

Format differencesLink to section

Python plugins and before_script are rejected. ${VAR} interpolation is not performed before building; render such configuration yourself if needed. sleep_before and sleep_after are seconds and pause construction between command deliveries.

Environment entries at every configuration level are written to the session. If several entries set the same name, the last value remains for later processes. Global options are applied after the first session exists, so its first window cannot inherit options that were set later.

Workspace contracts

Esc

Type to search.