Skip to content

feat: switch between Ghostty themes - #36

Closed
srid wants to merge 5 commits into
masterfrom
feat/theme-switcher
Closed

feat: switch between Ghostty themes#36
srid wants to merge 5 commits into
masterfrom
feat/theme-switcher

Conversation

@srid

@srid srid commented Mar 22, 2026

Copy link
Copy Markdown
Member

Summary

  • Add 8 terminal color themes switchable via command palette (Cmd/Ctrl+K → type "Theme:")
  • Themes: Atom One Dark, Catppuccin Mocha (default), Dracula, Gruvbox Dark, Nord, Rose Pine, Tokyo Night, Solarized Dark
  • Theme persists to localStorage across sessions
  • Fixes text selection color (was white-on-white, now proper per-theme selection colors)

Closes #13

Test plan

  • Open command palette, type "Theme:", verify 8 theme options appear
  • Select a theme, verify terminal colors change immediately
  • Reload page, verify theme persists
  • Verify text selection is visible (not white-on-white)
  • E2e tests: just test-dev (new theme.feature scenarios)

srid added 5 commits March 22, 2026 12:20
Add 8 terminal color themes (Atom One Dark, Catppuccin Mocha, Dracula,
Gruvbox Dark, Nord, Rose Pine, Tokyo Night, Solarized Dark) switchable
via the command palette. Theme choice persists to localStorage.

Also fixes broken text selection colors (was white-on-white).
- renderer.setTheme() only updates palette, doesn't repaint — now
  force full repaint via renderer.render(wasmTerm, true)
- re-focus terminal textarea after command palette closes
Hidden terminals (display:none) can't repaint — skip render during
theme switch and force full repaint when they become visible.
@srid

srid commented Mar 22, 2026

Copy link
Copy Markdown
Member Author

Better with careful planning and iteration #40

@srid srid closed this Mar 22, 2026
@srid
srid deleted the feat/theme-switcher branch March 22, 2026 20:22
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.

Switch between Ghostty themes

1 participant