# workspace.Pane

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

Pane is one pane in a window. YAML accepts either a bare command string or a mapping, so "echo hello" and {shell_command: echo hello} are equivalent.

## Members

- `Commands` (attribute) — Commands run in the pane, in order.
- `CommandsBefore` (attribute) — CommandsBefore run before Commands, after the window's.
- `StartDirectory` (attribute) — StartDirectory overrides the window directory for this pane.
- `Shell` (attribute) — Shell replaces this pane's command. On the first pane it conflicts with Window.Shell because tmux creates that pane with the window.
- `Focus` (attribute) — Focus selects this pane once its window is built.
- `SuppressHistory` (attribute) — SuppressHistory overrides the window setting for this pane.
- `Environment` (attribute) — Environment is written to the session after all panes in the window exist and before this pane's commands are sent. Pane entries are processed in order, so repeated names keep the last value written.
- `Enter` (attribute) — Enter applies to every command in this pane unless the command sets its own. Nil presses Enter, matching tmuxp.
- `SleepBefore` (attribute) — SleepBefore delays before each of this pane's commands. YAML writes it as a number of seconds, matching tmuxp, so 0.5 is half a second.
- `SleepAfter` (attribute) — SleepAfter delays after each of this pane's commands, in the same units.
- `UnmarshalYAML` (method) — UnmarshalYAML decodes a pane written as a bare command or as a mapping.
