From 0ea10b0ad2fcddedf6ddcc21fcc4cea8b43a1a5f Mon Sep 17 00:00:00 2001 From: Nek Date: Fri, 13 Mar 2026 05:46:02 -1000 Subject: [PATCH] fix(wallpaper): preserve per-monitor cycling when changing interval (#1981) (#1816) --- quickshell/Common/SessionData.qml | 38 ++++--------------------------- 1 file changed, 5 insertions(+), 33 deletions(-) diff --git a/quickshell/Common/SessionData.qml b/quickshell/Common/SessionData.qml index 62df4fa3..b9d6f1ba 100644 --- a/quickshell/Common/SessionData.qml +++ b/quickshell/Common/SessionData.qml @@ -575,14 +575,7 @@ Singleton { } } - if (!newSettings[identifier]) { - newSettings[identifier] = { - "enabled": false, - "mode": "interval", - "interval": 300, - "time": "06:00" - }; - } + newSettings[identifier] = getMonitorCyclingSettings(screenName); newSettings[identifier].enabled = enabled; monitorCyclingSettings = newSettings; saveSettings(); @@ -613,14 +606,7 @@ Singleton { } } - if (!newSettings[identifier]) { - newSettings[identifier] = { - "enabled": false, - "mode": "interval", - "interval": 300, - "time": "06:00" - }; - } + newSettings[identifier] = getMonitorCyclingSettings(screenName); newSettings[identifier].mode = mode; monitorCyclingSettings = newSettings; saveSettings(); @@ -651,14 +637,7 @@ Singleton { } } - if (!newSettings[identifier]) { - newSettings[identifier] = { - "enabled": false, - "mode": "interval", - "interval": 300, - "time": "06:00" - }; - } + newSettings[identifier] = getMonitorCyclingSettings(screenName); newSettings[identifier].interval = interval; monitorCyclingSettings = newSettings; saveSettings(); @@ -689,14 +668,7 @@ Singleton { } } - if (!newSettings[identifier]) { - newSettings[identifier] = { - "enabled": false, - "mode": "interval", - "interval": 300, - "time": "06:00" - }; - } + newSettings[identifier] = getMonitorCyclingSettings(screenName); newSettings[identifier].time = time; monitorCyclingSettings = newSettings; saveSettings(); @@ -1205,7 +1177,7 @@ Singleton { "time": "06:00" }; var value = _findMonitorValue(monitorCyclingSettings, screenName); - return value !== undefined ? value : defaults; + return Object.assign({}, defaults, value !== undefined ? value : {}); } FileView {