Compare commits

..

No commits in common. "22ea9b0df1e7221cf94002a8c9690cdee182b126" and "d90f9cbf94a0e5ddeee3f02177da5993b5de0df0" have entirely different histories.

View file

@ -1,50 +1,27 @@
import QtQuick
import Quickshell
import Quickshell.Io
import "." as M
M.BarIcon {
id: root
color: root.active ? (parent?.accentColor ?? M.Theme.base05) : M.Theme.base04
tooltip: {
const parts = ["Idle inhibition: " + (root.active ? "active" : "inactive")];
if (root._inhibitors)
parts.push(root._inhibitors);
return parts.join("\n");
}
tooltip: "Idle inhibition: " + (root.active ? "active" : "inactive")
property bool active: false
property string _inhibitors: ""
icon: root.active ? "\uF06E" : "\uF070"
Process {
id: inhibitor
command: ["systemd-inhibit", "--what=idle", "--who=nova-shell", "--why=user", "sleep", "infinity"]
running: root.active
}
// Poll current inhibitors
Process {
id: listProc
running: true
command: ["sh", "-c", "systemd-inhibit --list 2>/dev/null | grep -i idle | awk '{print $NF}' | sort -u | tr '\\n' ', ' | sed 's/, $//'"]
stdout: StdioCollector {
onStreamFinished: root._inhibitors = text.trim() ? "Blocked by: " + text.trim() : ""
}
}
Timer {
interval: 5000
running: root._hovered
repeat: true
triggeredOnStart: true
onTriggered: listProc.running = true
id: toggle
command: ["sh", "-c", root.active ? "pkill -x systemd-inhibit || true" : "systemd-inhibit --what=idle --who=nova-shell --why=user sleep infinity &"]
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: root.active = !root.active
onClicked: {
root.active = !root.active;
toggle.running = true;
}
}
}