# io.github.libtmux.Layouts.Layouts.require

- **Module:** io.github.libtmux.Layouts.Layouts
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-java/blob/842228310449e879ebcaa3f910597757c9dbffd6/libtmux/src/main/java/io/github/libtmux/Layouts.java#L59
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-layouts-layouts-require/

```
io.github.libtmux.Layouts.Layouts.require(layout: String) -> String
```

Returns the layout unchanged, having checked tmux will recognise it.

Accepts the classic checksummed form, a JSON layout (by shape only — a running version is
needed to say whether this server could have written it, which {@link #require(String,
TmuxVersion)} does), a built-in name, or an unambiguous prefix of exactly one built-in name
({@code layout_set_lookup} is a prefix match, so {@code tile} and {@code even-h} apply on
every tmux release). Ambiguity is judged against every name this library knows, not only the
ones the eventual server will have — the version to narrow that with is not available here.

## Raises

- `IllegalArgumentException`: if tmux would not recognise the name, which on some versions is not a recoverable error
