User guide / The screen

Screen layout

Development reference · View source

 session strip (optional, persistent sessions only)
┌ pane title ───────────────┐┌ pane title ───────────────┐
│ gutter │ buffer viewport  ││ gutter │ buffer viewport  │   editor area
│        │                  ││        │                  │
└───────────────────────────┘└───────────────────────────┘
 global status line
 interaction line
NameWhat it is
Runyte screenThe complete terminal surface.
Editor areaThe upper part, holding one or more panes.
PaneA pane border, a pane title in its top border, and a pane body inside it.
GutterPart of the pane body: line numbers, soft-wrap markers, syntax-fold markers, and Git change marks.
Content paddingOptional space in the pane body, used by aligned generated pages.
Buffer viewportWhere buffer text is shown and, for editable buffers, changed.
Global status lineMode, workspace directory, active-buffer state, cursor, Git/LSP state, and unread notifications.
Interaction lineAn active prompt or the last action echo.

These names are also the vocabulary of help and source documentation, and any future extension surface must inherit them. The canonical definitions live in context/reference/ui-vocabulary.md .

Which surface a task gets depends on its lifetime and interaction, not on the shape of its box:

SurfaceUsed for
Buffer (or a pane-backed filterable list)A navigable result. Keeps movement, selection, search, splits, help, and buffer management.
Special bufferContents Runyte assembles rather than reads as file text: the explorer, config, Git views, notifications, help, the about page.
Picker overlayA transient choose-one request.
Context overlayAssistance tied to a source position.
Confirmation overlayA pending prepared operation.
Interaction lineShort scalar input.
Input overlayRicher validated input.

Special buffers:

  • remain full buffers while displayed, may be shared by panes, and may be editable or read-only;
  • are retained while clean, up to the eight most recently active. Activating a ninth retires the least recent one once it is detached;
  • stay available while dirty, until saved or discarded.

A pathless scratch buffer is ordinary text, not a special buffer.

For example, Space g l opens a Git-log buffer for ordinary browsing, while Space g f opens a fuzzy commit picker that disappears after one choice. Both open the same retained special commit-detail buffer when a commit is selected.

Pane titles name the buffer kind:

  • ordinary paths are prefixed [file];
  • directory paths are prefixed [explorer];
  • virtual views keep their bracketed names, such as [git status] and [git branches];
  • [+] marks unsaved changes and [RO] a read-only buffer.