Skip to content

Commit 75c8491

Browse files
committed
Fix theme detection on Windows 10
Fixes: #8244
1 parent 7b82355 commit 75c8491

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/common/utility_win.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ const QString runPathC() {
4545
return QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run");
4646
}
4747

48+
const QString systemThemesC()
49+
{
50+
return QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize");
51+
}
52+
4853
const QString rtHelperNameC()
4954
{
5055
return QStringLiteral(APPLICATION_EXECUTABLE "_winrt");
@@ -138,6 +143,11 @@ void setLaunchOnStartup_private(const QString &appName, const QString &guiName,
138143

139144
static inline bool hasDarkSystray_private()
140145
{
146+
const QString lightThemeKey = QStringLiteral("SystemUsesLightTheme");
147+
const QSettings settings(systemThemesC(), QSettings::NativeFormat);
148+
if (settings.contains(lightThemeKey)) {
149+
return !settings.value(lightThemeKey).toBool();
150+
}
141151
static auto func = funcLoadHelper<bool()>(rtHelperNameC(), "hasDarkSystray");
142152
return func ? (*func)() : false;
143153
}

0 commit comments

Comments
 (0)