Skip to content

feat(settings): rebuild the theme system and theme every content surface - #3452

Merged
datlechin merged 3 commits into
mainfrom
feat/theme-system-rebuild
Oct 16, 2026
Merged

datlechin merged 3 commits into
mainfrom
feat/theme-system-rebuild

Conversation

@datlechin

@datlechin datlechin commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Why

A theme reached only part of the window. Many content views drew system colors, pane bars drew a system band over a themed window, and a slot a theme left out could clash with its background. Edits reached open windows only through Settings, and four themes shipped.

Change

  • New TableProTheme package: the slot registry with fallback rules, the file format, the resolver and VS Code theme import. The engine follows the catalog and previews unsaved edits live.
  • Every content surface follows the theme. On macOS 26 the four content windows show it through the titlebar, and bars drop their material over a themed pane.
  • A Theme Editor window with a live preview, undo and Revert, plus a Themes list with drag and drop and Move to Trash. 12 new built-in themes.
  • Custom themes and the light and dark choice sync over iCloud. Appearance mode is now per Mac, so a Mac on 0.81 reads System.

Verified

Unit plan, TableProCore package tests and the related UI flows pass. Changed on purpose: AppearanceSettingsUITests, EditorThemeBridgeTests, ThemeContrastTests (light themes held to WCAG 3:1), EditorTabStripTrackThemeTests, HighlightedSQLTextViewLayoutTests, DetailSurfaceThemeTests, ThemeFileImporterTests.

Screenshots

Before and after, Dracula:

Before
After

New light theme (Solarized Light):

After light

Appearance pane, before and after:

Appearance before
Appearance after

Theme Editor:

Theme Editor

Not in this PR

@datlechin
datlechin merged commit 38e4723 into main Oct 16, 2026
8 checks passed
@datlechin
datlechin deleted the feat/theme-system-rebuild branch October 16, 2026 16:02
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.

1 participant