From e331fb1feda8891baba2a2dc1caeed67834d9d93 Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周五, 22 12月 2023 23:47:22 +0800 Subject: [PATCH] improve dark mode on win --- src/core/contexts/win32windowcontext.cpp | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index ede9504..19f1864 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -937,18 +937,24 @@ if (!isWin101809OrGreater()) { return false; } + BOOL enable = attribute.toBool(); + + if (isWin101903OrGreater()) { + apis.pSetPreferredAppMode(enable ? PAM_AUTO : PAM_DEFAULT); + } else { + apis.pAllowDarkModeForApp(enable); + } + for (const auto attr : { _DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1, _DWMWA_USE_IMMERSIVE_DARK_MODE, }) { apis.pDwmSetWindowAttribute(hwnd, attr, &enable, sizeof(enable)); } - WINDOWCOMPOSITIONATTRIBDATA wcad{}; - wcad.Attrib = WCA_USEDARKMODECOLORS; - wcad.pvData = &enable; - wcad.cbData = sizeof(enable); - apis.pSetWindowCompositionAttribute(hwnd, &wcad); + + apis.pFlushMenuThemes(); + return true; } return false; -- Gitblit v1.9.1