diff --git a/quickshell/Services/IdleService.qml b/quickshell/Services/IdleService.qml index abadc151..46d9d2a6 100644 --- a/quickshell/Services/IdleService.qml +++ b/quickshell/Services/IdleService.qml @@ -138,6 +138,20 @@ Singleton { } } + // Wakes monitors powered off by the "power off monitors on lock" path. + // Lock.qml's own wake handlers sit outside the session-lock surface and + // never receive input, so wake on input via seat-level idle-notify instead. + IdleMonitor { + id: lockWakeMonitor + timeout: 1 + respectInhibitors: false + enabled: root.enabled && root.isShellLocked && root.monitorsOff && SettingsData.lockScreenPowerOffMonitorsOnLock + onIsIdleChanged: { + if (!isIdle && root.monitorsOff) + root.requestMonitorOn(); + } + } + Connections { target: root function onRequestMonitorOff() {