diff --git a/quickshell/Modules/Lock/Lock.qml b/quickshell/Modules/Lock/Lock.qml index 5a3c6707..9a5a00fb 100644 --- a/quickshell/Modules/Lock/Lock.qml +++ b/quickshell/Modules/Lock/Lock.qml @@ -14,6 +14,7 @@ Scope { property bool shouldLock: false onShouldLockChanged: { + IdleService.isShellLocked = shouldLock; if (shouldLock && lockPowerOffArmed) { lockStateCheck.restart(); } diff --git a/quickshell/Modules/WallpaperBackground.qml b/quickshell/Modules/WallpaperBackground.qml index 01f135b0..7910e54f 100644 --- a/quickshell/Modules/WallpaperBackground.qml +++ b/quickshell/Modules/WallpaperBackground.qml @@ -151,6 +151,16 @@ Variants { } } + Connections { + target: IdleService + function onIsShellLockedChanged() { + if (!IdleService.isShellLocked) { + root._renderSettling = true; + renderSettleTimer.restart(); + } + } + } + Timer { id: renderSettleTimer interval: 1000 diff --git a/quickshell/Services/IdleService.qml b/quickshell/Services/IdleService.qml index a75fa97f..9965e47c 100644 --- a/quickshell/Services/IdleService.qml +++ b/quickshell/Services/IdleService.qml @@ -64,6 +64,7 @@ Singleton { property var suspendMonitor: null property var lockComponent: null property bool monitorsOff: false + property bool isShellLocked: false function wake() { requestMonitorOn();