From 6c56d23b93e200506da46ae6502d9d65bf15c73b Mon Sep 17 00:00:00 2001 From: bbedward Date: Tue, 23 Dec 2025 22:33:33 -0500 Subject: [PATCH] themes: fix terminals always dark with custom themes --- quickshell/Common/Theme.qml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/quickshell/Common/Theme.qml b/quickshell/Common/Theme.qml index 327e9ce7..f8e56d1e 100644 --- a/quickshell/Common/Theme.qml +++ b/quickshell/Common/Theme.qml @@ -92,6 +92,7 @@ Singleton { property var matugenColors: ({}) property var _pendingGenerateParams: null property var customThemeData: null + property var customThemeRawData: null Component.onCompleted: { Quickshell.execDetached(["mkdir", "-p", stateDir]); @@ -602,6 +603,7 @@ Singleton { } function loadCustomTheme(themeData) { + customThemeRawData = themeData; if (themeData.dark || themeData.light) { const colorMode = (typeof SessionData !== "undefined" && SessionData.isLightMode) ? "light" : "dark"; const selectedTheme = themeData[colorMode] || themeData.dark || themeData.light; @@ -907,8 +909,13 @@ Singleton { let darkTheme, lightTheme; if (currentTheme === "custom") { - darkTheme = customThemeData; - lightTheme = customThemeData; + if (customThemeRawData && (customThemeRawData.dark || customThemeRawData.light)) { + darkTheme = customThemeRawData.dark || customThemeRawData.light; + lightTheme = customThemeRawData.light || customThemeRawData.dark; + } else { + darkTheme = customThemeData; + lightTheme = customThemeData; + } } else { darkTheme = StockThemes.getThemeByName(currentTheme, false); lightTheme = StockThemes.getThemeByName(currentTheme, true);