LibTmux.Client
Source and package
- Qualified name
-
LibTmux:: Client - Declared in
LibTmux- Package
- LibTmux
- Source
- lib/LibTmux/Client.rakumod
-
Description#
Client commands
ClientTarget retains endpoint and daemon identity values only. Each operation lists clients and checks the observed name, process ID and creation time before dispatch. tmux exposes no permanent client ID: disconnect and name reuse between this check and the command remain possible. The daemon fence does not make that check atomic. A client target never silently selects a current client. The read-only toggle follows tmux's paired read-only/ignore-size flag behavior; it retains the observed session and suppresses environment updates.
Pane-context UI methods require an explicit pane belonging to the client's current session. This avoids display-message's missing-target fallback. Pane modes are shared by every client viewing that pane, not private UI state.
Menu, prompt, popup and pane-number methods return Promises and require an explicit timeout in milliseconds. Human interaction may outlast that budget. Cancellation or timeout stops the command client; it does not retract an overlay or command already submitted. Use close-popup explicitly when appropriate. Results describe command completion, not rendered pixels or a human response.
Literal messages disable FORMAT and strftime interpolation. tmux display styles still apply. Menu labels retain display styles and leading-minus disabled-entry semantics. CommandTemplate deliberately exposes tmux template syntax and percent substitutions; it is never compiled as Raku. Popup shell-command deliberately requests shell execution. Other commands use argv and the shared tmux encoder.
Members3#
- ClientTarget class A value-only client target. No subprocess or connection is retained.
- CommandTemplate class Explicit tmux command-template syntax, including percent substitutions.
- MenuItem class A menu entry. Empty labels are separators; labels retain tmux display styles.