# io.github.libtmux.control.PaneOutputDecoder

- **Module:** io.github.libtmux.control
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/5f88402151ff08fc0390dd438b90963692ec3fe4/libtmux/src/main/java/io/github/libtmux/control/PaneOutputDecoder.java#L16
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder/

Decodes a subscriber's raw UTF-8 output independently of other subscribers. Incomplete characters wait for the same pane's next chunk; malformed bytes become {@code \xHH} escapes. Call {@link #reset} after each subscription gap and {@link #finish} at termination. Confine an instance to one reader.

## Members

### Other members

- [`decode`](/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder-decode/) (method): Decodes the preserved bytes, ignoring the client's predecoded text.
- [`finish`](/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder-finish/) (method): Escapes remaining partial bytes by pane, releases them, and returns an immutable map.
- [`PaneOutputDecoder`](/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder-paneoutputdecoder/) (method): Bounds panes holding an incomplete character, each at most three bytes. A new partial pane evicts the oldest partial pane and increments {@link #resetCount}.
- [`reset`](/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder-reset/) (method): Discards all partial characters after a gap and counts that reset.
- [`resetCount`](/en/java/latest/reference/io-github-libtmux-control-paneoutputdecoder-paneoutputdecoder-resetcount/) (method): The monotonic count of gap resets and partial-pane evictions.
