Rio
adr/0056-editor-font-override.mdRaw Markdown · GitHub ↗

ADR-0056: The editor font is a user override on the theme font

  • Status: Accepted; amended by ADR-0143
  • Date: 2026-09-03
  • Deciders: jka
  • Decision: D56

Context

The editor font is the named font RioEditorFont, supplied by the theme (ADR-0024). Users need to choose their own family and size, and to zoom quickly while reading a log file, without editing a theme file.

Decision

The theme remains the source of the default. The GUI adds a thin user override, stored as two preferences: font_family (empty means follow the theme) and font_size (0 means follow the theme). One procedure, apply_editor_font, overlays them onto the theme values, reconfigures the named font, and repaints chrome whose geometry depends on character width (gutter, wrap indentation). A theme switch keeps the user's override.

Zoom steps set an absolute size, clamped to 5–72. Ctrl+0 or "Use Theme Font" clears the override.

The zoom inputs (Ctrl+wheel, Ctrl+Plus, Ctrl+Minus, Ctrl+0) are bound directly on the editor and gutter, outside the keymap of ADR-0023, as fixed accelerators. Both the X11 and the Windows/macOS wheel events are handled.

Consequences

  • Font choice survives theme changes and restarts.
  • The override applies to the document view only; UI and chat fonts stay with the theme.
  • Zoom keys cannot be remapped.