Core LibraryGuides

Choose documentation 3

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

Capturing output

Pane.CaptureAsync reads visible pane lines. The complete program passes a cancellation token, compares whole lines and bounds its waits with a CancellationTokenSource. Its OwnedServerScope owns the private server and is disposed with await using.

Run the complete program

Capture pane output includes the full C# program, all imports, project files and a run command. The program matches libtmux capture ready as a complete line, so the echoed command cannot satisfy the check. It creates and cleans up its own tmux server.

Visible pane vs. scrollback

A capture reads terminal state. Lines that have scrolled beyond retained history are unavailable, and repeated captures can miss intermediate output. Choose the range your task needs and use a stream or completion signal when every output event matters.

Wait for the expected text

Use a deadline and a specific output predicate. The example’s short polling pause limits work between checks; it is the observed line that determines completion. Sending keys explains why returning from the input call is not a completion signal.

Wait for a completion signal

A program can also signal a dedicated tmux channel. Use the same server endpoint for the sender and waiter and a new channel name per task. Waiting and retrying documents this port’s waiting APIs and failure handling.

Esc

Type to search.