libtmux Reference MCP Search
On this page

control.PaneOutput.snapshot

View as Markdown

Module
control
Declared in
PaneOutput
Package
libtmux
Source
crates/libtmux/src/control.rs
snapshot ( mut , on_output : impl FnMut(&[u8]) ) Result<Vec<TmuxText>, Error>
method [source]
method [source]
snapshot

Capture the pane's visible screen at an ordered point in this stream.

on_output receives every unread chunk tmux ordered before the capture block. The callback owns any retention policy, so libtmux does not retain those chunks. It runs synchronously and should return promptly.

Each chunk passed to on_output is consumed from this stream and is not repeated by Self::next_chunk. That remains true when this future is cancelled or returns an error: caller-owned storage keeps the prefix it already accepted.

The visible screen and preceding output may overlap: the screen is tmux's rendered grid, while the callback receives the raw terminal byte stream that reached that grid.

Errors

Returns an error when the connection closes, the command deadline elapses, or tmux refuses the capture, including when the pane vanished.

Examples

let mut output = pane.stream_output().await?;
let mut preceding = Vec::new();
let visible = output
    .snapshot(|chunk| preceding.extend_from_slice(chunk))
    .await?;

println!("{} visible lines after {} raw bytes", visible.len(), preceding.len());
output.shutdown().await

0 declared, 0 inherited

Esc

Type to search.