From 29901fc2a97eedd3c914f807d1819c9ea7e69973 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周一, 25 12月 2023 17:53:34 +0800 Subject: [PATCH] Optimize Windows 10 border handling --- examples/mainwindow/mainwindow.cpp | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index a1a39dd..6a7435e 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -20,6 +20,10 @@ #include <widgetframe/windowbar.h> #include <widgetframe/windowbutton.h> +#ifdef Q_OS_WINDOWS +# include <QWKCore/qwindowkit_windows.h> +#endif + class ClockWidget : public QLabel { public: explicit ClockWidget(QWidget *parent = nullptr) : QLabel(parent) { @@ -116,7 +120,13 @@ windowAgent->setup(this); #ifdef Q_OS_WIN - windowAgent->setWindowAttribute(QStringLiteral("dark-mode"), true); + if (QWK::IsWindows10OrGreater_Real() && !QWK::IsWindows11OrGreater_Real()) { + // windowAgent->setWindowAttribute(QStringLiteral("dark-mode"), true); + + // https://github.com/microsoft/terminal/blob/71a6f26e6ece656084e87de1a528c4a8072eeabd/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp#L940 + // Must call DWM API to extend top frame to client area + windowAgent->setWindowAttribute(QStringLiteral("extra-margins"), true); + } #endif // 2. Construct your title bar -- Gitblit v1.9.1