# LibTmux.ControlModeSession

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** .NET
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/6656a563ec9e07ab52e0c3ac96f7704fc94cc0c0/src/LibTmux/ControlMode/ControlModeSession.cs#L18
- **Page:** https://libtmux.org/reference/dotnet/libtmux-controlmodesession/

Reads one tmux control client and correlates what it says.

tmux answers on one stream that carries two different things: blocks that
answer a command, and notifications nobody asked for. A single reader owns
the stream and splits them, because two readers on one pipe would interleave
and neither would see a whole block.

## Members

- `ControlModeSession` (method)
- `Events` (property)
- `IsRunning` (property)
- `Start` (method)
- `WaitForReadyAsync` (method) — Waits until tmux has answered its own attach.
- `VerifyAttachedGenerationAsync` (method)
- `SendAsync` (method)
- `DisposeAsync` (method)
