Skip to content

Settings: terminal font size (S/M/L) #66

Description

@burakgon

Why: The terminal is fixed at one font size. On a phone some people want denser output; on a desktop monitor some want it bigger. A simple S / M / L choice in Settings would cover both.

Where:

  • packages/web/src/settings/SettingsPanel.tsx — add a "Terminal font size" control (three buttons or a <select>: Small 12 / Medium 14 / Large 16).
  • packages/web/src/pwa/theme.ts or a new tiny module — persist the choice in localStorage under roamcode.termfont (follow the pattern of roamcode.theme in theme.ts: load with a validated fallback).
  • packages/web/src/chat/TerminalView.tsx — read the stored value when constructing the xterm Terminal({ fontSize }), and call term.options.fontSize = n + refit when it changes (listen the same way theme changes are handled).

Acceptance criteria:

  • New sessions open with the chosen size; changing it applies to open terminals without a reload.
  • Choice survives a page reload (localStorage).
  • Default stays exactly as today (Medium/14) for existing users.
  • pnpm typecheck && pnpm -C packages/web test pass; add a small test following packages/web/src/pwa/theme.test.ts.

Hints: grep for fontSize in TerminalView.tsx to find the xterm construction; the Settings panel already has grouped controls you can copy the markup from.

Metadata

Metadata

Labels

good first issueGood for newcomershelp wantedExtra attention is neededwebWeb PWA (packages/web)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions