idle inhibitor: use quickshell instead of pythong script

This commit is contained in:
end-4
2025-09-13 22:03:03 +02:00
parent b972d3fabe
commit 4f0522d913
4 changed files with 48 additions and 105 deletions
@@ -62,6 +62,10 @@ Singleton {
property string provider: "yandere"
}
property JsonObject idle: JsonObject {
property bool inhibit: false
}
property JsonObject timer: JsonObject {
property JsonObject pomodoro: JsonObject {
property bool running: false
@@ -1,31 +1,16 @@
import qs.modules.common
import qs.modules.common.widgets
import qs
import Quickshell.Io
import Quickshell
import qs.services
QuickToggleButton {
id: root
toggled: false
toggled: Idle.inhibit
buttonIcon: "coffee"
onClicked: {
if (toggled) {
root.toggled = false
Quickshell.execDetached(["pkill", "wayland-idle"]) // pkill doesn't accept too long names
} else {
root.toggled = true
Quickshell.execDetached([`${Directories.scriptPath}/wayland-idle-inhibitor.py`])
}
}
Process {
id: fetchActiveState
running: true
command: ["pidof", "wayland-idle-inhibitor.py"]
onExited: (exitCode, exitStatus) => {
root.toggled = exitCode === 0
}
Idle.toggleInhibit()
}
StyledToolTip {
content: Translation.tr("Keep system awake")
}
}