# tmux.NewPaneRequest

- **Module:** tmux
- **Package:** github.com/libtmux/libtmux-go/tmux
- **Language:** Go
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-go/blob/5f808882015a975a65acc7f9da5b3ff0d5cbdc91/tmux/pane_create.go#L21
- **Page:** https://libtmux.org/reference/go/tmux-newpanerequest/

NewPaneRequest configures a floating pane and requires tmux 3.7 or later. Its zero value creates a detached floating pane with tmux's default size, position, styles, and command. Nil pointer fields omit their options; nonnil pointers are explicit, including empty style or message strings. Width and Height must be nonnegative. Empty and Command are mutually exclusive. Unsupported tmux versions return [VersionTooLowError] rather than omitting fields.

Methods copy pointers and Environment before I/O; concurrent mutation during
the copy is unsafe.

## Members

- `Attach` (attribute) — Attach lets the created pane become active in the exact target winlink; false preserves its active pane.
- `StartDirectory` (attribute) — StartDirectory expands ~ and ~/... for the current user. Named-user forms such as ~other are rejected; empty inherits tmux's default.
- `Command` (attribute) — Command starts the pane with this shell command; empty uses tmux's default.
- `Environment` (attribute) — Environment is emitted in lexically sorted key order. The map is not retained; nil and an empty map both add no entries.
- `Width` (attribute) — Width sets a nonnegative pane width; nil lets tmux choose.
- `Height` (attribute) — Height sets a nonnegative pane height; nil lets tmux choose.
- `X` (attribute) — X sets the horizontal position; nil lets tmux choose.
- `Y` (attribute) — Y sets the vertical position; nil lets tmux choose.
- `Zoom` (attribute) — Zoom preserves the target window's zoomed state.
- `Empty` (attribute) — Empty creates a pane without starting a command.
- `Style` (attribute) — Style sets the pane style; nil omits it.
- `ActiveBorderStyle` (attribute) — ActiveBorderStyle sets the active border style; nil omits it.
- `InactiveBorderStyle` (attribute) — InactiveBorderStyle sets the inactive border style; nil omits it.
- `Message` (attribute) — Message sets the pane message; nil omits it.
- `Keep` (attribute) — Keep preserves the pane after its command exits.
