control.ControlSender.mute_pane
Rust
- Python Unavailable
- Ruby Unavailable
- Lua Unavailable
- TypeScript Unavailable
- Rust
- Go Unavailable
- Java Unavailable
- .NET Unavailable
- C++ Unavailable
- Swift Unavailable
- Module
- control
- Declared in
- ControlSender
- Package
- libtmux
- Source
- crates/libtmux/src/control.rs
-
Stop tmux sending this connection what a pane writes.
A control client is sent the output of every pane in the session it attached to, which is one window's worth or a hundred. One pane running
yesmoves more than 20 MB in two seconds, and a client tmux judges five minutes behind is disconnected withtoo far behind, so discarding the unwanted panes on arrival is not enough.Muting a pane that does not exist is not an error; tmux ignores an unresolvable id here.
Below
crate::since::CONTROL_PANE_OFFthis pauses the pane rather than taking it out of the stream, because taking it out crashes the server. tmux keeps reading the pane's pty either way, discarding what this connection does not want; a paused pane costs only that connection's own back-pressure, andControlEventsseesEvent::Pausedfor it.At or above that release, taking the pane out of the stream also stops tmux reading its pty at all -- for every attached client, not only this connection, and for a one-shot reader such as
capture-panetoo -- untilSelf::unmute_paneorSelf::resume_paneturns it back on. A human attached to the same pane sees it stop updating, and the pane's own program can block onwriteonce the kernel's pty buffer fills. What arrives once resumed is therefore a backlog, not a gap: seeSelf::unmute_pane.Errors
Returns an error when the connection has closed or tmux refuses the stream change.
0 declared, 0 inherited