Skip to content

FEAT: Windows Theme & Dark Mode Support - #9

Draft
ahkrichards wants to merge 5 commits into
Synthesia-LLC:masterfrom
ahkrichards:feature/win-gui-dark-mode
Draft

FEAT: Windows Theme & Dark Mode Support#9
ahkrichards wants to merge 5 commits into
Synthesia-LLC:masterfrom
ahkrichards:feature/win-gui-dark-mode

Conversation

@ahkrichards

Copy link
Copy Markdown

Caution

Developed on a fork with dotnet 10 tooling: ahkrichards/feature/dotnet-10

Not tested against .NET 4.8 toolchain.

If there is interest in this feature, I can invest more time to adding for Mac as well as ensuring compatibility with .NET 4.8. I simply added dotnet 10 toolchain for the purposes of quick starting my local development without need to add augment my env with explicit .NET 4.8 support.

This PR adds a dark mode spike for the Windows GUI, including theme switching, improved contrast, and Windows title bar integration. The UI now supports Follow System / Light / Dark modes, with consistent styling across menus, inputs, and dialogs.

Key Changes

  • Added a theme manager and persisted theme setting (Follow System / Light / Dark).
  • Applied dark theme styling across the WinForms UI and dialogs.
  • Improved menu contrast (including left margin) to match legacy readability.
  • Fixed initial text color application before controls become enabled.
  • Tuned input/list borders and button contrast for dark mode.
  • Applied Windows title bar dark mode when supported (safe fallback on unsupported OS).

Notes

  • Title bar theming uses DWM attributes on Windows 10/11; no-op fallback on older systems.
  • mac GUI intentionally untouched.

Preview

Initial load:

image

New View menu and Theme menu items:

image

Loaded song:

image

Backwards compatible / maintains previous theme:

image

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