Workspace ManagerstableAPI Reference

Choose documentation 3

stable

Current version

stable
English

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

tmuxp.workspace.builder.WorkspaceBuilderProtocol

class tmuxp.workspace.builder.WorkspaceBuilderProtocol
Bases:

Contract a builder must satisfy to be driven by tmuxp load.

Description#

A conforming builder is constructed with at least session_config and server (plus the optional plugins and on_* callbacks the classic builder accepts). It exposes build , surfaces the populated tmux session via session , and honors the plugin/progress integration points the CLI drives.

Because the protocol carries data members (session, plugins, the on_* callbacks), validate instances with isinstance ; class-level issubclass checks are not supported for runtime-checkable protocols with non-method members.

Examples#

A builder implementing the full contract satisfies the protocol:

>>> from tmuxp.workspace.builder.protocol import WorkspaceBuilderProtocol
>>> class MiniBuilder:
... plugins: list = []
... on_progress = None
... on_before_script = None
... on_script_output = None
... on_build_event = None
... def __init__(self, session_config, server, **kwargs):
... self._session_config = session_config
... def build(self, session=None, append=False):
... ...
... def session_exists(self, session_name):
... ...
... def find_current_attached_session(self):
... ...
... @property
... def session(self):
... ...
>>> builder = MiniBuilder(session_config={}, server=None)
>>> isinstance(builder, WorkspaceBuilderProtocol)
True

An object missing the contract does not:

>>> isinstance(object(), WorkspaceBuilderProtocol)
False

Discussed in Python workspace internal API

Members

Construct a builder from an expanded workspace and a tmux server.

Return the tmux session the builder created or populated.

build ( self, session: Session | None = None, append: bool = False, ) → None

Build the workspace, creating or populating a tmux session.

Parameters

Return True if a session with session_name already exists.

Parameters

Return the session currently attached within $TMUX.

Esc

Type to search.

Reference preview Open reference