# control.ControlMode

- **Module:** control
- **Package:** libtmux
- **Language:** Rust
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/control.rs#L464
- **Page:** https://libtmux.org/en/rs/latest/reference/control-controlmode/

One control-mode connection to a tmux server.

Sending and receiving are separate handles, reachable through [`split`].
That is not decoration: the point of control mode is to act on what you
observe, and a single object would need `&mut` for both, so a task awaiting
an event could never send the command that event implies.

## Members

- `attach` (method): Attach to a session in control mode.
- `attach_with_limits` (method): Attach with explicit frame budgets.
- `split` (method): Separate the two halves so they can be used at the same time.
- `reply_timeout` (method): Set how long a command waits for its result block.
- `send` (method): Send one command and wait for its result block.
- `next_event` (method): Return the next notification or terminal error, then `None`.
- `shutdown` (method): Close the connection and report how it ended.
