# io.github.libtmux.scaladsl.cats.Control

- **Module:** io.github.libtmux.scaladsl.cats
- **Package:** io.github.libtmux:libtmux-scala_3
- **Language:** Scala
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-scala-cats/src/main/scala/io/github/libtmux/scaladsl/cats/Control.scala#L21
- **Page:** https://libtmux.org/en/scala/latest/reference/io-github-libtmux-scaladsl-cats-control/

```
final class Control[F[_]]

object Control
```

Owns an attached Java control client. Canceling an active request can end this attachment and its queued requests and observations. Use separate attachments for commands and observations that must survive that failure.

## Members

### Common operations

- `acknowledge` (method): Reads one raw reply without claiming deferred command completion. Cancellation does not prove that tmux rolled back a dispatched command. The timeout starts after Scala admission; an effect timeout can bound the whole call.
- `attach` (method): Attaches to the process the captured session named.
- `attachUnfenced` (method): Attaches lazily to whatever server now answers this endpoint, without an incarnation guard; prefer attaching a captured session. Bounds simultaneous acknowledgement calls. Release stops their owned work before detaching the client and preserves the tmux daemon.
- `events` (method): Registers Java's typed notifications, including unknown event kinds.
- `isAlive` (method): Whether this attachment's process is still running.
- `standardError` (method): Error text from this control process, at most 4096 bytes.
- `standardErrorTruncated` (method): Whether `standardError` stopped before the process finished writing.
- `unwatch` (method): Removes a watch registered under `name`.
- `watch` (method): Asks tmux to report `format` when it changes. A target that does not name a pane or window watches the attached session.

### Other members

- `Ack` (class): Retains tmux's raw reply framing and line shape.
- `output` (method): Registers decoded text output before the returned resource body runs. Terminal bytes and character boundaries are not preserved by Java.
