diff --git a/quickshell/Common/Theme.qml b/quickshell/Common/Theme.qml index 78155ec7..65470350 100644 --- a/quickshell/Common/Theme.qml +++ b/quickshell/Common/Theme.qml @@ -1248,7 +1248,11 @@ Singleton { if (themeData.variants.type === "multi" && themeData.variants.flavors && themeData.variants.accents) { const defaults = themeData.variants.defaults || {}; const modeDefaults = defaults[colorMode] || defaults.dark || {}; - const stored = typeof SettingsData !== "undefined" ? SettingsData.getRegistryThemeMultiVariant(themeId, modeDefaults, colorMode) : modeDefaults; + const isGreeterMode = typeof SessionData !== "undefined" && SessionData.isGreeterMode; + const stored = isGreeterMode ? + (GreetdSettings.registryThemeVariants[themeId]?.[colorMode] || modeDefaults) : + (typeof SettingsData !== "undefined" ? + SettingsData.getRegistryThemeMultiVariant(themeId, modeDefaults, colorMode) : modeDefaults); var flavorId = stored.flavor || modeDefaults.flavor || ""; const accentId = stored.accent || modeDefaults.accent || ""; var flavor = findVariant(themeData.variants.flavors, flavorId); diff --git a/quickshell/Modules/Greetd/GreetdSettings.qml b/quickshell/Modules/Greetd/GreetdSettings.qml index 8de70a82..e1f670ca 100644 --- a/quickshell/Modules/Greetd/GreetdSettings.qml +++ b/quickshell/Modules/Greetd/GreetdSettings.qml @@ -24,6 +24,7 @@ Singleton { property string currentThemeName: "purple" property bool settingsLoaded: false property string customThemeFile: "" + property var registryThemeVariants: ({}) property string matugenScheme: "scheme-tonal-spot" property bool use24HourClock: true property bool showSeconds: false @@ -80,6 +81,8 @@ Singleton { currentThemeName = settings.currentThemeName !== undefined ? settings.currentThemeName : "purple"; customThemeFile = settings.customThemeFile !== undefined ? settings.customThemeFile : ""; + registryThemeVariants = settings.registryThemeVariants !== undefined ? + settings.registryThemeVariants : ({}); matugenScheme = settings.matugenScheme !== undefined ? settings.matugenScheme : "scheme-tonal-spot"; use24HourClock = settings.use24HourClock !== undefined ? settings.use24HourClock : true; showSeconds = settings.showSeconds !== undefined ? settings.showSeconds : false;