Core LibraryalphaGuides

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::capture returns captured text through a result that must be checked. The complete program splits that text into lines and compares a whole line before its deadline. Capture options select history and bound the output size; an exceeded output limit is reported as an error.

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.

Reference preview Open reference