diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-17 23:15:47 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-17 23:15:47 +1000 |
| commit | 24922be5e9261f78ef6f0f2b57815880a889ebf7 (patch) | |
| tree | 8b3c405019d8118c33fec27a8721f081ee6f8e3f /modules/IdleMonitors.qml | |
| parent | idleinhibitor: use qs idleinhibitor (diff) | |
| download | caelestia-shell-24922be5e9261f78ef6f0f2b57815880a889ebf7.tar.gz caelestia-shell-24922be5e9261f78ef6f0f2b57815880a889ebf7.tar.bz2 caelestia-shell-24922be5e9261f78ef6f0f2b57815880a889ebf7.zip | |
feat: add idle monitor
Replaces hypridle
Diffstat (limited to 'modules/IdleMonitors.qml')
| -rw-r--r-- | modules/IdleMonitors.qml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/IdleMonitors.qml b/modules/IdleMonitors.qml new file mode 100644 index 0000000..ed929c4 --- /dev/null +++ b/modules/IdleMonitors.qml @@ -0,0 +1,37 @@ +import "lock" +import qs.config +import qs.services +import Quickshell +import Quickshell.Wayland + +Scope { + id: root + + required property Lock lock + + IdleMonitor { + timeout: Config.general.idle.lockTimeout + onIsIdleChanged: { + if (isIdle) + root.lock.lock.locked = true; + } + } + + IdleMonitor { + timeout: Config.general.idle.dpmsTimeout + onIsIdleChanged: { + if (isIdle) + Hypr.dispatch("dpms off"); + else + Hypr.dispatch("dpms on"); + } + } + + IdleMonitor { + timeout: Config.general.idle.sleepTimeout + onIsIdleChanged: { + if (isIdle) + Quickshell.execDetached(["systemctl", "suspend-then-hibernate"]); + } + } +} |