47 lines
1.1 KiB
QML
47 lines
1.1 KiB
QML
pragma Singleton
|
|
|
|
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
property alias inhibit: inhibitor.running
|
|
property bool inhibitPipewire
|
|
|
|
function toggleInhibitPipewire() {
|
|
root.inhibitPipewire = !root.inhibitPipewire;
|
|
pipewireInhibitor.running = true;
|
|
}
|
|
|
|
// Idle Inhibitor
|
|
|
|
Process {
|
|
id: inhibitor
|
|
command: ["wayland-idle-inhibitor"]
|
|
}
|
|
|
|
// Idle Inhibit on Pipewire
|
|
|
|
readonly property string pipewireInhibitorService: "wayland-pipewire-idle-inhibit.service"
|
|
|
|
Timer {
|
|
id: pipewireInhibitorTimer
|
|
running: true
|
|
repeat: true
|
|
triggeredOnStart: true
|
|
onTriggered: pipewireInhibitorCheck.running = true
|
|
}
|
|
|
|
Process {
|
|
id: pipewireInhibitorCheck
|
|
command: ["systemctl", "status", "--user", root.pipewireInhibitorService]
|
|
onExited: (code, _) => root.inhibitPipewire = (code === 0)
|
|
}
|
|
|
|
Process {
|
|
id: pipewireInhibitor
|
|
command: ["systemctl", root.inhibitPipewire ? "start" : "stop", "--user", root.pipewireInhibitorService]
|
|
}
|
|
}
|