# io.github.libtmux.control.ControlEvent.ControlEvent

- **Module:** io.github.libtmux.control.ControlEvent
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-java/blob/c3517519ee799428a809ce6deb1708c8be289cd1/libtmux/src/main/java/io/github/libtmux/control/ControlEvent.java#L21
- **Page:** https://libtmux.org/reference/java/io-github-libtmux-control-controlevent-controlevent/

Something tmux volunteered, rather than an answer to a request.

<p>A control client is told about changes as they happen — a window appearing, a session being
renamed, a layout moving — without anything asking. That is the difference between watching a
server and polling one.

<p>The kind is tmux's own notification name with the leading {@code %} removed, and the fields are
what followed it. Deliberately not modelled one record per kind: tmux adds notifications between
releases, and a closed set here would drop the ones a newer tmux sends.

## Members

- `parse` (method) — Reads one notification line.
- `subscription` (method) — The name a subscription was registered under, for an event that came from one.
- `paneId` (method) — The first field naming a pane, which is how an event says which pane it is about.
- `windowId` (method) — The first field naming a window.
