# libtmux.control

- **Module:** libtmux.control
- **Package:** io.github.libtmux:libtmux-clojure
- **Language:** Clojure
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-java/blob/5f88402151ff08fc0390dd438b90963692ec3fe4/libtmux-clojure/src/main/clojure/libtmux/control.clj#L1
- **Page:** https://libtmux.org/en/clojure/latest/reference/libtmux-control/

```
(ns libtmux.control)
```

Explicit control replies through [[attach!]] and [[send!]].

[[subscribe!]], [[next!]], and [[terminal]] expose owned bounded output streams.
Control needs tmux 3.7 or newer; an older daemon is refused before
any client is attached, with `:tmux/error` `:tmux/unsupported-feature`.

## Members

### Common operations

- [`attach!`](/en/clojure/latest/reference/libtmux-control-attach/) (function): Attaches an owned control client to an explicit captured Session reference.
- [`close!`](/en/clojure/latest/reference/libtmux-control-close/) (function): Closes a connection or subscription. Closing a subscription leaves its
- [`next!`](/en/clojure/latest/reference/libtmux-control-next/) (function): Reads one event, gap, timeout, or terminal map; never uses `nil` for termination.
- [`send!`](/en/clojure/latest/reference/libtmux-control-send/) (function): Sends argv and returns protocol status, lines, and unverified completion.
- [`subscribe!`](/en/clojure/latest/reference/libtmux-control-subscribe/) (function): Creates a closeable output subscription borrowing its connection.
- [`terminal`](/en/clojure/latest/reference/libtmux-control-terminal/) (function): Returns the single recorded stream outcome, or `nil` until a reader drains it.

## Guides

Pages that discuss `libtmux.control`.

- [Getting started](/en/clojure/latest/guides/getting-started/)
