Skip to content

Windows 11 retheme: dark mode, accent color, and Fluent control templates#138

Merged
danielchalmers merged 11 commits into
masterfrom
win11-retheme
Jul 6, 2026
Merged

Windows 11 retheme: dark mode, accent color, and Fluent control templates#138
danielchalmers merged 11 commits into
masterfrom
win11-retheme

Conversation

@danielchalmers

@danielchalmers danielchalmers commented Jul 6, 2026

Copy link
Copy Markdown
Owner

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.

  • Dark mode that follows Windows — color tokens moved out of FluentTheme.xaml into LightPalette/DarkPalette dictionaries. A new ThemeManager applies the palette matching AppsUseLightTheme at startup, swaps it live on theme changes, and darkens the settings window title bar via DWM.
  • System accent color put to work — seeded from DWM (lightened in dark mode for contrast) and used for the sidebar selection pill, checkbox fills, slider tracks/thumbs, combo box selection pills, menu checkmarks, and focus borders. Accent changes propagate live.
  • Fluent templates for the remaining stock controls — CheckBox, Slider, ComboBox (+ dropdown), TextBox, ScrollBar, and ToolTip; all rounded, palette-aware, and hover/focus-themed.
  • Settings sidebar polish — the grey slab and divider are gone (nav sits on the window background like Win11 Settings), and the section currently in view is marked with an accent pill that tracks the scroll position.
  • Context menu icons — the MenuItem template's icon column was permanently collapsed (pre-existing bug); it's enabled now with Segoe Fluent Icons glyphs (MDL2 fallback on Win10).
  • High-contrast support restored — a HighContrastPalette defers entirely to system colors whenever Windows high contrast is active, preserving the accessibility intent of the old SystemColors-based brushes.
image image image image

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.
@danielchalmers danielchalmers merged commit bf5d07e into master Jul 6, 2026
4 checks passed
@danielchalmers danielchalmers deleted the win11-retheme branch July 6, 2026 03:33
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