Command pane
The command pane is a bottom-docked terminal surface per project. Command sessions do not appear in the sidebar — they persist across restarts, support vertical splits, and integrate with F12, pane hotkeys, and custom terminal Actions.
What it is
Each project owns a commands panel — a terminal workspace docked at the bottom of the main pane area. It shares the workspace pane/tab/split model but is scoped to surface: commands sessions that Ghostex hides from the sidebar session list.
- Default session title: Command Terminal.
- Modes: pinned (default) or floating.
- Vertical-only splits inside the panel — left/right, not up/down.
- Hiding the panel does not kill terminals; closing tabs does.
- Running command terminals reserve bottom space even in floating mode.
- Opening the code editor does not collapse the command panel.
Opening and toggling
| Option | What it does |
|---|---|
F12 | Open Commands Panel — or collapse when focus is already inside the visible panel |
Command palette | Open Commands Panel — hotkey-derived palette entry |
Double-click top resize rail | Reset height to Command Pane Default Height setting |
- If no command session exists, F12 creates Command Terminal.
- Opening from hidden restores height from commandsPanelDefaultHeightPx.
- Ghostex remembers last mode (pinned vs floating) per project.
- Drag a workspace tab downward to move that session into the command surface.
Panel chrome
| Option | What it does |
|---|---|
Pin / Unpin | Toggle pinned vs floating mode (visible panel) |
Close | Close the entire command panel chrome |
Expand | Expand when panel is collapsed but sessions still run |
Custom terminal Actions can target existing command panes by action title instead of always creating new workspace tabs.
Settings
Settings → Workspace → Command Pane Default Height:
| Option | What it does |
|---|---|
commandsPanelDefaultHeightPx | Default 125 px — used when opening panel via F12 or double-click resize rail |
Height range | Clamped 40–600 px in settings normalizer |
Height ratio | 5%–90% of workspace (MIN/MAX_COMMANDS_PANEL_HEIGHT_RATIO) |
Hotkeys when focused inside
When focus is inside an expanded command pane, pane hotkeys route to command sessions instead of workspace sessions:
| Option | What it does |
|---|---|
F12 | Toggle collapse when already focused inside panel |
Cmd+T | Create Session — targets command pane |
Cmd+D | Split Sideways — vertical split in command pane |
Cmd+Shift+D | Split Downwards — workspace only; command pane uses vertical-only geometry |
Arrow keys | Directional focus includes command-pane layout |
All hotkeys are rebindable in Settings → Hotkeys.
State and persistence
Per-project CommandsPanelState shape:
- isVisible — panel shown or collapsed.
- mode — floating or pinned.
- heightRatio — fraction of workspace height.
- paneLayout — optional split tree for command sessions.
- activeSessionId — focused command terminal.
- sessions — TerminalSessionRecord[] with surface: commands.
Native WK project storage persists placement and layout; gxserver owns session identity and metadata.
Sleep and lifecycle
- Sleep Inactive on a project group includes idle zmx-backed command terminals.
- Project Wake and Reload include command terminals alongside workspace sessions.
- Command-pane runs are excluded from Previous Sessions gxserver queries.
- Tag and pin updates on command sessions apply to the commands panel snapshot, not sidebar cards.
vs workspace terminals
| Option | What it does |
|---|---|
Sidebar visibility | Workspace sessions appear as cards; command sessions do not |
Split direction | Workspace supports all splits; command pane vertical-only |
Move tab down | Workspace → command surface via drag |
F12 | Command pane only — no workspace equivalent |
Previous Sessions | Workspace agent history only — command runs excluded |
Tips
- Use the command pane for long-running tails, build watchers, and gx f launches without cluttering the sidebar.
- Pin the panel when you want it always visible; float when you need occasional bottom access.
- Raise commandsPanelDefaultHeightPx if 125 px is too cramped for multi-line output.
- Cmd+T inside the command pane creates sibling shells for parallel log streams.
- Sleep Inactive at end of day cleans idle command terminals along with workspace agents.