control.PaneOutput.snapshot
Rust
- Python Unavailable
- Ruby Unavailable
- Lua Unavailable
- TypeScript Unavailable
- Rust
- Go Unavailable
- Java Unavailable
- .NET Unavailable
- C++ Unavailable
- Swift Unavailable
- 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, even when this returns an error.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.
Cancel safety
Partly happened: chunks already passed to
on_outputstay consumed, so what the callback kept is the only copy. The stream stays usable.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