Files
LanMountainDesktop/.trae/specs/settings-window-fluent-shell-redesign/spec.md
lincube 49bbae29af Redesign settings window with fluent shell & search
Rebuild the settings window as a Fluent shell: adds a custom 48-DIP titlebar with Back, pane toggle, icon/title, search box, restart/more menu, and caption-button spacer; moves compact pane toggle into the titlebar and preserves FANavigationView as the primary navigation surface. Introduces a SettingsSearchService (with UI AutoComplete integration, search indexing, navigation-by-result, and search result highlighting) plus focused tests for search filtering and theme material normalization. Adds navigation history/back stack, updates SettingsViewModels for new bindings and localization keys, and updates General/Apearance pages to expose new strings and options. Implements an "auto" system material mode: default in AppSettingsSnapshot, new MaterialAuto constants and normalization/resolution logic in ThemeAppearanceValues, WindowMaterialService and MaterialSurfaceService adjustments to prefer Mica on Win11 and Acrylic on Win10 using TransparencyLevelHint. GlassEffectService and AppearanceThemeService updated to use effective material mode and to track live theme state changes. Adds localization entries (en-US, zh-CN), spec/tasks docs, and other UI/style tweaks to support the redesign.
2026-05-04 04:46:12 +08:00

1.5 KiB

Settings Window Fluent Shell Redesign

Goal

Rebuild the settings window as an independent Fluent shell with a custom titlebar, titlebar hamburger menu, persistent side navigation, search, and Avalonia-standard system material support.

Requirements

  • Keep the existing independent settings-window lifecycle: open-or-focus, no owner anchor, own taskbar entry.
  • Use a 48 DIP titlebar with Back, pane toggle, icon/title, search, restart action, more menu, and caption-button spacer.
  • Keep FANavigationView as the primary navigation surface with OpenPaneLength around 283 DIP.
  • Move the compact/minimal pane toggle from the navigation footer into the titlebar.
  • Add search over built-in settings pages and settings expanders; selecting a result navigates, expands, focuses, and highlights.
  • Add auto system material mode and make it the default.
  • Implement material with Avalonia TransparencyLevelHint only.
  • Preserve settings page layout as direct ScrollViewer -> StackPanel -> FASettingsExpander content.
  • Follow docs/VISUAL_SPEC.md, docs/CORNER_RADIUS_SPEC.md, and docs/ai/SETTINGS_WINDOW_DESIGN.md.

Acceptance

  • dotnet build LanMountainDesktop.slnx -c Debug succeeds.
  • dotnet test LanMountainDesktop.slnx -c Debug succeeds or any unrelated failures are documented.
  • The settings window can navigate by sidebar, titlebar Back, titlebar pane toggle, and search.
  • Appearance settings expose Auto, None, Mica, and/or Acrylic according to system support.
  • Existing dirty user changes are not reverted.