diff --git a/Modules/Lock/IdleMonitors.qml b/Modules/Lock/IdleMonitors.qml index e5312de..26b2854 100644 --- a/Modules/Lock/IdleMonitors.qml +++ b/Modules/Lock/IdleMonitors.qml @@ -8,21 +8,25 @@ import qs.Helpers Scope { id: root + readonly property bool enabled: !Players.list.some(p => p.isPlaying) required property Lock lock - readonly property bool enabled: !Players.list.some( p => p.isPlaying ) - function handleIdleAction( action: var ): void { - if ( !action ) + function handleIdleAction(action: var): void { + if (!action) return; - if ( action === "lock" ) + if (action === "lock") lock.lock.locked = true; - else if ( action === "unlock" ) + else if (action === "unlock") lock.lock.locked = false; - else if ( typeof action === "string" ) - Hypr.dispatch( action ); + else if (action === "dpms on") + Hypr.dispatch('hl.dsp.dpms({ action = "enable" })'); + else if (action === "dpms off") + Hypr.dispatch('hl.dsp.dpms({ action = "disable" })'); + else if (typeof action === "string") + Hypr.dispatch(action); else - Quickshell.execDetached( action ); + Quickshell.execDetached(action); } Variants { @@ -33,7 +37,8 @@ Scope { enabled: root.enabled && modelData.timeout > 0 ? true : false timeout: modelData.timeout - onIsIdleChanged: root.handleIdleAction( isIdle ? modelData.idleAction : modelData.activeAction ) + + onIsIdleChanged: root.handleIdleAction(isIdle ? modelData.idleAction : modelData.activeAction) } } }