On this page
control.PaneOutput.snapshot
- Module
- control
- Declared in
- PaneOutput
- Package
- libtmux
- Source
- crates/libtmux/src/control.rs
-
Capture the pane's visible screen at an ordered point in this stream.
on_outputreceives 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_outputis consumed from this stream and is not repeated bySelf::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