# io.github.libtmux.Layouts.Layouts

- **Module:** io.github.libtmux.Layouts
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/c3517519ee799428a809ce6deb1708c8be289cd1/libtmux/src/main/java/io/github/libtmux/Layouts.java#L20
- **Page:** https://libtmux.org/reference/java/io-github-libtmux-layouts-layouts/

Which layout names are safe to hand to tmux.

<p>Public because every path that can reach select-layout needs it, not only the one that reads
a workspace file. This check exists because an unrecognised layout name does not produce an error on every tmux:
on 3.3a it crashes the server, taking down every session on that socket, including ones this
program never created. A workspace file is user-supplied text, so the name has to be checked
before it is dispatched rather than after tmux has had it.

<p>tmux accepts either one of its named layouts or a serialized layout carrying tmux's own
checksum. The checksum is verified here; a four-hex-digit prefix alone does not make the rest
safe for tmux to parse.

## Members

- `require` (method) — Returns the layout unchanged, having checked tmux will recognise it.
- `requireSerialized` (method) — Requires an exact layout string rather than a built-in layout name.
