Skip to content

Keyboard shortcuts

TrueDeck claims these shortcuts before xterm and agent CLIs, so they work while a terminal tab is focused. Hold Ctrl on Windows/Linux or on macOS (metaKey is treated like Ctrl).

Normal terminal keys (including Ctrl+C) still reach the PTY unless listed below.

Application

ShortcutAction
Ctrl+OOpen / add project folder
Ctrl+Shift+OOpen file to read (markdown, plans, source) as a tab
Ctrl+TNew agent (open agent palette)
Ctrl+NPop focused pane into a new window (also: drag a tab outside the deck)
Ctrl+Shift+NNew shell tab
Ctrl+WClose active tab
Ctrl+MMinimize active tab (PTY keeps running as a chip)
Ctrl+Shift+MRestore last minimized tab
Ctrl+SToggle settings (in a document tab: save the file)
EscapeClose settings and agent palette

Ctrl+S and Ctrl+T still work when focus is in settings form fields (other shortcuts are ignored while typing outside the terminal). Document tabs use Read / Edit for markdown; code is always editable monospace.

Tabs

ShortcutAction
Ctrl+TabNext tab in the focused pane group only
Ctrl+Shift+TabPrevious tab in the focused pane group
Ctrl+1Ctrl+9Jump to tab 1-9

Pane splits & pop-out windows

ShortcutAction
Ctrl+DSplit vertical (side-by-side)
Ctrl+XSplit horizontal (top / bottom)
Ctrl+ZUndo last pane move (split / dock / unsplit)
Ctrl+Alt+D or Ctrl+Alt+XUnsplit — merge all panes into one
Ctrl+← / Ctrl+→ / Ctrl+↑ / Ctrl+↓Move focus to neighboring pane (spatial). With one pane, cycles tabs.
Ctrl+NDetach focused tab into a new TrueDeck window
Drag tab outside the deckSame as Ctrl+N (pop-out at drop position)

Closing a pop-out window returns the tab to the main deck.

Notes:

  • You need 2+ tabs (or an existing multi-pane layout) to split.
  • Max 16 panes.
  • Split moves the active tab into a new leaf relative to the focused group.

Terminal font zoom

These change terminal font size (saved in settings), not Chromium page zoom.

ShortcutAction
Ctrl+= or Ctrl++Larger font (11-20px)
Ctrl+-Smaller font
Ctrl+0Reset to 13px

Agent TUI scroll (Grok, etc.)

InputAction
Mouse wheelSent to the agent’s custom TUI scroll (mouse reporting)
Shift+wheelHost xterm scrollback (when available)

Native scrollbars are suppressed while the agent owns the wheel so reporting is not stolen.

Terminal copy / paste

ShortcutAction
Ctrl+CCopy if text is selected (then clears selection); otherwise interrupt (SIGINT)
Ctrl+Shift+CCopy selection to the OS clipboard (then clears selection)
Ctrl+V / Ctrl+Shift+VPaste clipboard into the terminal
Ctrl+Shift+ASelect all terminal buffer (then copy with Ctrl+C)
Middle-clickPaste clipboard

Drag to select text in the terminal (Shift+drag if the agent has mouse mode on). After copy, selection is cleared so the next Ctrl+C is SIGINT again.

Terminal (not claimed)

TrueDeck intentionally leaves many combos to the shell / agent TUI, for example:

ShortcutTypical meaning
Ctrl+AStart of line / agent TUI select-all - not the agent palette
Ctrl+LClear / redraw (agent-dependent)

Settings cheatsheet

Settings → Terminal shows a short hint:

T new agent · O project · W close · M minimize · Shift+M restore · S settings · D v-split · X h-split · N shell · 1-9 jump tab · +/- font zoom

Ownership (avoid fighting)

LayerOwns
Main before-input-eventClaims app chords only (arrows, Tab, zoom, plain Ctrl+letter, Ctrl+M / Ctrl+Shift+M, Ctrl+1-9, Ctrl+Alt+D/X). Does not claim Ctrl+C/V.
App.tsx handleShortcutRuns the claimed app actions (IPC primary, DOM fallback). Dedupe guards double-fire.
TerminalPaneCopy/paste (C/V), scrollback keys, blocks app chords from the PTY. Clears selection after copy so the next Ctrl+C is SIGINT.

Ctrl+Shift+letter (except M restore, plus C/V/A for terminal) is left for the agent or shell.

Source of truth

AreaFile
Main claim listelectron/main/index.ts
Global handlerssrc/App.tsx
xterm attach filter + wheel + clipboardsrc/components/TerminalPane.tsx
UI titlesTabBar, chrome, Settings, title-bar buttons

MIT Licensed · Terminal-first multi-agent deck