# tmux select-layout

Source: https://libtmux.org/en/tmux/3.7c/manual/select-layout/

> Choose a specific layout for a window.

Choose a specific layout for a window.

## Syntax

```tmux-usage
tmux select-layout [-Enop] [-t target-pane] [layout-name]
```

Alias: `selectl`.

## Behavior

Choose a specific layout for a window. If `layout-name` is not given, the last preset layout used (if any) is reapplied. `-n` and `-p` are equivalent to the [`next-layout`](https://libtmux.org/en/tmux/3.7c/manual/next-layout/) and [`previous-layout`](https://libtmux.org/en/tmux/3.7c/manual/previous-layout/) commands. `-o` applies the last set layout if possible (undoes the most recent layout change). `-E` spreads the current pane and any panes next to it out evenly.

## C implementation

Internal declarations in tmux 3.7c:

* [`cmd_select_layout_entry`](https://libtmux.org/en/tmux/3.7c/reference/c-variable-cmd_select_layout_entry/)
* [`cmd_select_layout_exec`](https://libtmux.org/en/tmux/3.7c/reference/c-function-cmd-select-layout-c-cmd_select_layout_exec/)

## Use from a library

Each API describes its own defaults, errors and execution model.

* [Python](https://libtmux.org/en/py/latest/reference/libtmux-window-select_layout/)
* [TypeScript](https://libtmux.org/en/ts/latest/reference/window-window-selectlayout/)
* [Rust](https://libtmux.org/en/rs/latest/reference/window-window-select_layout/)
* [Go](https://libtmux.org/en/go/latest/reference/tmux-window-selectlayout/)
* [Java](https://libtmux.org/en/java/latest/reference/io-github-libtmux-window-window-selectlayout/)
* [C#](https://libtmux.org/en/csharp/latest/reference/libtmux-window-selectlayoutasync/)
* [C++](https://libtmux.org/en/cxx/latest/reference/libtmux-window-select_layout/)
* [Swift](https://libtmux.org/en/swift/latest/reference/server-selectlayout\(_-_-\)/)
* [Ruby](https://libtmux.org/en/ruby/latest/reference/libtmux-window-select_layout/)
* [Lua](https://libtmux.org/en/lua/latest/reference/libtmux-window-layout/)

tmux sources and license

Syntax comes from `tmux 3.7c list-commands`. See the [global options](https://libtmux.org/en/tmux/3.7c/manual/full/#DESCRIPTION) for sockets and configuration, and [command syntax and targets](https://libtmux.org/en/tmux/3.7c/manual/full/#COMMANDS).

Behavior is taken from the [tmux 3.7c manual](https://github.com/tmux/tmux/blob/79072dd1a9f5fb437a5859e362a496fd57ec0981/tmux.1).

[Command declaration](https://github.com/tmux/tmux/blob/79072dd1a9f5fb437a5859e362a496fd57ec0981/cmd-select-layout.c#L33)

```
Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>

Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
```
