Skip to content

Add Settings controls for terminal font weight - #58

Merged
rockyway merged 1 commit into
developfrom
feature/terminal-font-weight-settings
Aug 22, 2026
Merged

Add Settings controls for terminal font weight#58
rockyway merged 1 commit into
developfrom
feature/terminal-font-weight-settings

Conversation

@rockyway

Copy link
Copy Markdown
Contributor

Summary

  • xterm's fontWeight/fontWeightBold were hard-coded (normal/bold), so SGR-bold prompt/output text always rendered at CSS 700 with no way to adjust it.
  • Adds Font Weight and Bold Text Weight dropdowns under Settings > Appearance (300–900 ladder), wired end-to-end: settingsSlice (persisted + hydrated from config.json, with validation since config.json is hand-editable), TerminalEngine.setFontWeight() for live updates without remount, and the Appearance category's dirty-tracking/revert baseline so "Discard changes" works correctly.
  • Canvas Mode needed no separate wiring — it relocates the same TerminalPane-owned engine's DOM element rather than owning its own engine instance.

Test plan

  • bun run typecheck clean
  • @termflow/terminal-core test suite (724 tests, 47 suites) passing
  • settingsDirty + SettingsPage/TerminalDisplay/TerminalPane/settingsSlice jest suites passing
  • GUI-verified live in the dev app (user confirmed working)

xterm's fontWeight/fontWeightBold were hard-coded (normal/bold), making
SGR-bold prompt/output text read heavier than users wanted with no way to
adjust it. Adds Font Weight and Bold Text Weight dropdowns under
Settings > Appearance, wired through settingsSlice (persisted + hydrated),
TerminalEngine.setFontWeight() for live updates, and the Appearance
category's dirty-tracking/revert baseline.
@rockyway
rockyway merged commit 5a4694b into develop Aug 22, 2026
5 checks passed
@rockyway
rockyway deleted the feature/terminal-font-weight-settings branch August 22, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants