diff --git a/dep/nuget/packages.config b/dep/nuget/packages.config index c9049f96e1a..08735f5cdb8 100644 --- a/dep/nuget/packages.config +++ b/dep/nuget/packages.config @@ -6,7 +6,7 @@ - + diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 9b20e3c7aa2..438be6532cf 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -1388,7 +1388,7 @@ void AppHost::_updateTheme() // It must be done before WM_NCPAINT so that the borders are rendered with // the correct theme. // For more information, see GH#6620. - LOG_IF_FAILED(TerminalTrySetDarkTheme(_window->GetHandle(), _isActuallyDarkTheme(theme.RequestedTheme()))); + _window->UseDarkTheme(_isActuallyDarkTheme(theme.RequestedTheme())); } void AppHost::_HandleSettingsChanged(const winrt::Windows::Foundation::IInspectable& /*sender*/, diff --git a/src/cascadia/WindowsTerminal/IslandWindow.cpp b/src/cascadia/WindowsTerminal/IslandWindow.cpp index a06dd7818e2..17c45ea0336 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/IslandWindow.cpp @@ -1920,6 +1920,12 @@ void IslandWindow::RemoveFromSystemMenu(const winrt::hstring& itemLabel) _systemMenuItems.erase(it->first); } +void IslandWindow::UseDarkTheme(const bool v) +{ + const BOOL attribute = v ? TRUE : FALSE; + std::ignore = DwmSetWindowAttribute(GetHandle(), DWMWA_USE_IMMERSIVE_DARK_MODE, &attribute, sizeof(attribute)); +} + void IslandWindow::UseMica(const bool newValue, const double /*titlebarOpacity*/) { // This block of code enables Mica for our window. By all accounts, this @@ -1954,7 +1960,7 @@ void IslandWindow::UseMica(const bool newValue, const double /*titlebarOpacity*/ // the darkness of our window. However, we're keeping this call to prevent // the window from appearing as a white rectangle for a frame before we load // the rest of the settings. - LOG_IF_FAILED(TerminalTrySetDarkTheme(_window.get(), true)); + UseDarkTheme(true); return TRUE; } diff --git a/src/cascadia/WindowsTerminal/IslandWindow.h b/src/cascadia/WindowsTerminal/IslandWindow.h index 12100cc78ba..ea89d8387af 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.h +++ b/src/cascadia/WindowsTerminal/IslandWindow.h @@ -68,6 +68,7 @@ class IslandWindow : void AddToSystemMenu(const winrt::hstring& itemLabel, winrt::delegate callback); void RemoveFromSystemMenu(const winrt::hstring& itemLabel); + void UseDarkTheme(const bool v); virtual void UseMica(const bool newValue, const double titlebarOpacity); WINRT_CALLBACK(DragRegionClicked, winrt::delegate<>); diff --git a/src/common.nugetversions.targets b/src/common.nugetversions.targets index a80ca901042..e5768deec56 100644 --- a/src/common.nugetversions.targets +++ b/src/common.nugetversions.targets @@ -47,7 +47,7 @@ - + @@ -80,7 +80,7 @@ - +