Windows 11 retheme: dark mode, accent color, and Fluent control templates#138
Merged
Conversation
Move color tokens out of FluentTheme.xaml into LightPalette/DarkPalette dictionaries and add a ThemeManager that applies the palette matching the system theme at startup, swaps it live when the theme changes, and seeds the accent brush from the system accent color. The settings window title bar now switches to dark via DWM.
Replace the default Aero-era CheckBox, Slider, ComboBox, and ScrollBar visuals with Windows 11 style templates: rounded accent-filled checkbox, thin slider rail with a round accent-dot thumb, rounded combo box with a chevron and a shadowed rounded dropdown with accent selection pills, and a thin rounded scrollbar rail.
Drop the grey sidebar slab and divider so the nav sits directly on the window background like Win11 Settings, top-align the nav, and mark the section currently in view with an accent pill that follows the scroll position.
Enable the icon column in the MenuItem template, add Segoe Fluent Icons glyphs (with MDL2 fallback for Windows 10) to the clock context menu, and color the checkmark with the system accent.
Track the active section with a viewport-center probe instead of a top-third threshold, pin the first/last section when scrolled all the way to either end, and let a sidebar click highlight its own button directly since positions near the ends can map to several sections.
The separator template applied the control margin a second time inside the template, doubling the inset. Drop the inner margin and use a symmetric near-full-width inset like Win11 menus instead of the old lopsided 28px text indent.
Menus assign separators the style keyed MenuItem.SeparatorStyleKey and never pick up an implicit Separator style, so the context menu was still rendering the stock Aero separator. Key the Fluent separator style accordingly.
The default template still used hardcoded Aero hover/focus borders, which clashed in dark mode. Rounded corners, themed hover border, and an accent border on keyboard focus.
Replace the stock tooltip with a rounded, palette-aware one so the color picker hints match the rest of the UI in both themes.
The palette swap dropped the previous system-color awareness. Add a high-contrast palette that defers entirely to the user's system colors and apply it whenever Windows high contrast is active, including live toggles via the broader UserPreferenceChanged categories.
Add required braces and clarity parentheses and normalize the new files to CRLF line endings.
This was referenced Jul 6, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rethemes the context menu and settings window to a modern Windows 11 look. The previous theme was light-only and all-neutral grey, and half the controls still rendered their Aero-era defaults.
FluentTheme.xamlintoLightPalette/DarkPalettedictionaries. A newThemeManagerapplies the palette matchingAppsUseLightThemeat startup, swaps it live on theme changes, and darkens the settings window title bar via DWM.HighContrastPalettedefers entirely to system colors whenever Windows high contrast is active, preserving the accessibility intent of the oldSystemColors-based brushes.