# tmux.DisplayPopupRequest

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

DisplayPopupRequest configures a popup overlay. Pointer and map values are copied before I/O and must not be mutated concurrently. Pointer fields distinguish omission from an explicit empty value, with the Command and StartDirectory behavior documented on those fields.

CloseOnExit and CloseOnSuccess are mutually exclusive. CloseExisting asks
tmux only to close the existing overlay, so the remaining fields do not
create a replacement. NoBorder makes BorderLines ineffective. When modifying
an existing popup, NoKeys clears its configured automatic-close flags before
tmux applies CloseOnExit, CloseOnSuccess, and CloseOnAnyKey from this request.
NoKeys does not disable keyboard input.

## Members

- `Command` (attribute) — Command is interpreted by tmux as a shell command. Nil lets tmux use default-command and then its default shell; nonnil empty is passed explicitly and tmux resolves it directly to the default shell.
- `CloseOnExit` (attribute) — CloseOnExit closes the overlay whenever Command exits.
- `CloseOnSuccess` (attribute) — CloseOnSuccess closes the overlay only when Command exits successfully.
- `CloseExisting` (attribute) — CloseExisting closes the selected client's existing overlay and prevents this request from creating a replacement.
- `TargetClient` (attribute) — TargetClient selects the client that receives the overlay; zero lets tmux choose.
- `Width` (attribute) — Width is an explicit cell count or percentage and may contain tmux format expressions. Nil lets tmux choose the default width.
- `Height` (attribute) — Height is an explicit cell count or percentage and may contain tmux format expressions. Nil lets tmux choose the default height.
- `X` (attribute) — X is a tmux popup position expression and may contain tmux formats. Nil lets tmux choose the horizontal position.
- `Y` (attribute) — Y is a tmux popup position expression and may contain tmux formats. Nil lets tmux choose the vertical position.
- `StartDirectory` (attribute) — StartDirectory selects the popup working directory. Nil omits the option; nonnil empty is normalized to ".". The library expands a leading local ~ before tmux expands formats in the resulting value.
- `Title` (attribute) — Title is the popup title format. Nil leaves the tmux default.
- `BorderLines` (attribute) — BorderLines selects tmux's border-line style. NoBorder makes it ineffective.
- `Style` (attribute) — Style selects the tmux style for the popup interior.
- `BorderStyle` (attribute) — BorderStyle selects the tmux style for the popup border.
- `Environment` (attribute) — Environment adds validated popup environment entries. Nil and an empty map add none; entries are sent in lexical key order.
- `NoBorder` (attribute) — NoBorder removes the popup border and makes BorderLines ineffective.
- `CloseOnAnyKey` (attribute) — CloseOnAnyKey lets a nonmouse, nonpaste key dismiss the popup after its command has exited. It does not dismiss the popup while the job is active; tmux continues to send keys to that job.
- `NoKeys` (attribute) — NoKeys clears automatic-close flags previously configured on an existing popup. Same-request close flags are then applied, and key input remains enabled.
