Docs / Tiling & spaces
Panes, spaces, and sessions
raven-term lays panes out the way a tiling window manager does: splits follow the space, dividers drag, and the layout survives restarts. Spaces group work; each space can run a different layout mode.
BSP splits
⌘D splits the focused pane along its longer axis, so repeated splits produce a balanced binary-space-partitioned grid instead of ever-thinner slivers. Panes render in scissored rectangles with hairline dividers and a focus ring on the active pane. Click any pane to focus it; closing a pane collapses its branch of the split tree. The split-tree logic is unit-tested.
- Dividers are draggable — grab one to resize both sides; ratios persist per space.
- Panes can be pulled out into their own space (
break-pane) or moved into another space (move-pane) from the palette or the CLI. - Dropped files land in the pane under the pointer, shell-quoted like iTerm2 does it.
Spaces
- ⌘TNew space (an agent space when the space is in agent mode)
- ⌘WClose pane / space
- ⌘⇧[Previous space
- ⌘⇧]Next space
- ⌘1–9Jump to space by index
Spaces title themselves from the checked-out branch, else the working directory name, and can be renamed from the palette. A worktree environment space gets a marker glyph plus the branch's CI verdict from the last GitHub status fetch.
Agent mode
Every space has a layout mode: default (free BSP tiling) or agent — a layout tuned for one primary agent session with a side column for support panes. The CLI command raven-term mode agent switches the active space. In agent mode, split adds an agent side pane instead of a free split.
Pane notes
Any pane can carry a note — Add Note to Panein the palette — for the "which experiment was this?" problem when a dozen agents run at once. Notes are editable and clearable, and they persist with the session.
Session restore
The full layout — space order, titles, modes, split trees with their ratios, focus, and each pane's working directory — is written transactionally to ~/.raven/work-ledger.db on every change and rebuilt on launch. Panes that were running Claude Code or Codex are respawned by resuming that agent's most recent sessionin the pane's cwd (claude --resume / codex resume) rather than dropping you at a bare prompt. Both behaviors are configurable (restore_session, resume_agents).