diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.cpp b/src/cascadia/TerminalSettingsEditor/MainPage.cpp index 6f7256597f4..6a074b858fd 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.cpp +++ b/src/cascadia/TerminalSettingsEditor/MainPage.cpp @@ -55,7 +55,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _settingsClone{ settings.Copy() } { InitializeComponent(); - + _UpdateBackgroundForMica(); _InitializeProfilesList(); _colorSchemesPageVM = winrt::make(_settingsClone); @@ -102,6 +102,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _settingsSource = settings; _settingsClone = settings.Copy(); + _UpdateBackgroundForMica(); + // Deduce information about the currently selected item IInspectable lastBreadcrumb; const auto size = _breadcrumbs.Size(); @@ -640,4 +642,21 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation return SettingsNav().Background(); } + // If the theme asks for Mica, then drop out our background, so that we + // can have mica too. + void MainPage::_UpdateBackgroundForMica() + + { + const auto& theme = _settingsSource.GlobalSettings().CurrentTheme(); + + const auto bgKey = (theme.Window() != nullptr && theme.Window().UseMica()) ? + L"SettingsPageMicaBackground" : + L"SettingsPageBackground"; + + if (const auto bgColor = Resources().TryLookup(winrt::box_value(bgKey))) + { + SettingsNav().Background(winrt::WUX::Media::SolidColorBrush(winrt::unbox_value(bgColor))); + } + } + } diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.h b/src/cascadia/TerminalSettingsEditor/MainPage.h index ba86c6d50fd..e414e9f5f83 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.h +++ b/src/cascadia/TerminalSettingsEditor/MainPage.h @@ -67,6 +67,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation void _Navigate(hstring clickedItemTag, BreadcrumbSubPage subPage); void _Navigate(const Editor::ProfileViewModel& profile, BreadcrumbSubPage subPage, const bool focusDeleteButton = false); + void _UpdateBackgroundForMica(); + winrt::Microsoft::Terminal::Settings::Editor::ColorSchemesPageViewModel _colorSchemesPageVM{ nullptr }; Windows::UI::Xaml::Data::INotifyPropertyChanged::PropertyChanged_revoker _profileViewModelChangedRevoker; diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.xaml b/src/cascadia/TerminalSettingsEditor/MainPage.xaml index 719d1a6d571..739a961f5b4 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.xaml +++ b/src/cascadia/TerminalSettingsEditor/MainPage.xaml @@ -31,16 +31,20 @@ #282828 + #00000000 #F9F9F9 + #00000000 +