41 lines
991 B
QML
41 lines
991 B
QML
import "lock"
|
|
import qs.config
|
|
import qs.services
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
|
|
Scope {
|
|
id: root
|
|
|
|
required property Lock lock
|
|
readonly property bool enabled: !Config.general.idle.inhibitWhenAudio || !Players.list.some(p => p.isPlaying)
|
|
|
|
IdleMonitor {
|
|
enabled: root.enabled
|
|
timeout: Config.general.idle.lockTimeout
|
|
onIsIdleChanged: {
|
|
if (isIdle)
|
|
root.lock.lock.locked = true;
|
|
}
|
|
}
|
|
|
|
IdleMonitor {
|
|
enabled: root.enabled
|
|
timeout: Config.general.idle.dpmsTimeout
|
|
onIsIdleChanged: {
|
|
if (isIdle)
|
|
Hypr.dispatch("dpms off");
|
|
else
|
|
Hypr.dispatch("dpms on");
|
|
}
|
|
}
|
|
|
|
IdleMonitor {
|
|
enabled: root.enabled
|
|
timeout: Config.general.idle.sleepTimeout
|
|
onIsIdleChanged: {
|
|
if (isIdle)
|
|
Quickshell.execDetached(["systemctl", "suspend-then-hibernate"]);
|
|
}
|
|
}
|
|
}
|