Core LibraryConcepts

Choose documentation 2

latest

Current version

latest
English

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

Edit this page on GitHub

Object identity and placement

Select the endpoint explicitly, then keep the identity returned with its native objects. A textual pane or session ID alone is not enough to identify an object across different servers or daemon restarts.

Endpoint and daemon generation

New-TmuxServer accepts an explicit socket selector. It creates a description, not a daemon. Connect-TmuxServer discovers the live generation and returns a connected replacement when the supplied handle is not materialized. Keep that returned handle when subsequent work needs the discovered identity.

Pass native objects into mutation cmdlets. Their identity and placement guards can be retained by typed commands. Reconstructing a command from raw target text throws away that information. Raw -Target on control attachment uses tmux target syntax at attachment time; it is not the identity of a captured session.

IDs and names serve different purposes

Session, window, and pane IDs have distinct prefixes. PowerShell expands a dollar sign in a double-quoted string, so write a session ID as '$0' when entering it literally. A window ID such as '@1' and a pane ID such as '%2' select different kinds of object.

The read cmdlets’ -Id and -Name filters are exact and case-sensitive. They do not interpret wildcards. When both are supplied, both must match. A name can change; retain the native result when you intend to act on the same object. See reading objects for matching and empty-result behavior.

A window can appear in several sessions

A physical window can be linked into more than one session and can have more than one placement. Its index belongs to the placement. Do not use a window’s name or one session’s index as a global key.

Captured session-window links preserve these occurrences. A physical pane still belongs to its window; a traversal through multiple session placements can encounter it more than once. Choose whether your operation is about physical windows, distinct sessions, or placements before deduplicating results.

Filtering a captured collection changes membership, not the graph referenced by the selected objects. Parent and sibling navigation still describes the original capture. Refreshing one pane does not silently recreate an old parent graph; acquire a new snapshot for a coherent traversal.

The placement guide covers links and moves. Continue with ownership and cleanup before deciding which resources your application may remove.

Esc

Type to search.

Reference preview Open reference