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

TypeScript workspace internals

TypeScript

Edit this page on GitHub

@libtmux/workspace 0.1.0-alpha.10 · Source

These pages document the in-development workspace builder for contributors and applications that call its APIs. For workspace loading from a terminal, see tmuxp.

Builder pipelineLink to section

parseWorkspace validates input data. planWorkspace inspects the target session and reports proposed topology changes; applyWorkspace performs the changes through a caller-owned Server. The caller supplies file reading, command-line handling, attachment, and application lifetime.

Read the implementationLink to section

  • Guides show builder setup and application code.
  • Topics explain configuration, behavior, and failures.
  • Examples exercise the builder through the language API.
  • API links the configuration and construction interfaces.

Implementation scopeLink to section

@libtmux/workspace applies a declared session layout to a libtmux Server. Describe windows, panes, working directories, and shell commands as data. Applying the same description again reuses matching objects.

The package manages tmux structure. It does not supervise processes or restart commands that have exited. Commands run only in newly created panes by default.

Package and runtimeLink to section

Use @libtmux/workspace alongside libtmux. The published package supports Node and Bun; its YAML convenience parser requires Bun. You can use validated JavaScript objects under either runtime. Real tmux control requires tmux on the host. The package documents Linux as its supported runtime platform.

The workspace format uses familiar tmuxp field names, with its own validation and convergence rules. Python plugins and tmuxp’s configuration search are not part of this package.

Package documentation

Esc

Type to search.