# io.github.libtmux.Layout.Layout

- **Module:** io.github.libtmux.Layout
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** enum
- **Source:** https://github.com/libtmux/libtmux-java/blob/842228310449e879ebcaa3f910597757c9dbffd6/libtmux/src/main/java/io/github/libtmux/Layout.java#L14
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-layout-layout/

One of tmux's built-in pane arrangements.

An enum rather than a string, and not for tidiness: {@code select-layout} with a name tmux does
not recognise *ends the server* on 3.3a, taking every session on that socket with it —
including sessions this program never created. Every other supported release answers
{@code invalid layout} and carries on.

A name that cannot be misspelled cannot trigger that. {@link Window#applyLayout} covers the
other way in, a serialized layout string, by checking it before tmux sees it.

## Members

- `EVEN_HORIZONTAL` (constant)
- `EVEN_VERTICAL` (constant)
- `MAIN_HORIZONTAL` (constant)
- `MAIN_VERTICAL` (constant)
- `TILED` (constant)
- `MAIN_HORIZONTAL_MIRRORED` (constant): Requires tmux 3.5.
- `MAIN_VERTICAL_MIRRORED` (constant): Requires tmux 3.5.
- `Layout` (method)
- `tmuxName` (method): The name tmux knows this by.
- `since` (method): The first supported release that has this layout.
- `requireSupported` (method): Refuses this layout when the running tmux predates it.
- `toString` (method)
