# libtmux::SplitOptions

- **Module:** libtmux
- **Package:** libtmux-cxx
- **Language:** C++
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L77
- **Page:** https://libtmux.org/en/cxx/latest/reference/libtmux-splitoptions/

What a creation command can be told.

Every field maps to a flag tmux 3.2a already has, and every default is what tmux does when the flag is absent — except focus, which defaults to leaving it where the user put it. A library that moves someone's cursor because it created something is a library people stop calling.

Aggregates rather than parameters: a caller writes only the fields it cares about, and a field added later does not renumber anything.

## Members

- `horizontal` (attribute): Side by side. tmux stacks by default.
- `before` (attribute): Before the target rather than after it.
- `full_size` (attribute): Spanning the full width or height of the window rather than of the pane.
- `start_directory` (attribute): Where the new pane starts. Empty inherits from the window.
- `shell_command` (attribute): Run this instead of the default shell.
- `percentage` (attribute): Size as a percentage of the space being divided.
- `focus` (attribute): Make the new pane the active one.
- `environment` (attribute): Variables the new process starts with, on top of what tmux passes down.
