pragma Singleton import Quickshell import Quickshell.Io import QtQuick Singleton { id: root property string uptime Process { id: uptimeProc command: ["uptime"] running: true stdout: StdioCollector { onStreamFinished: { var t = this.text.trim().split(" up ")[1] var days = 0 if (t.includes("day")) { var [d, t] = t.split(" day") days = parseInt(d.trim()) t = t.split(", ")[1] } t = t.split(", ")[0] var hours = 0 var minutes = 0 if (t.includes("min")) { minutes = parseInt(t.split(' min')[0]) } else { var [h, m] = t.split(":") hours = parseInt(h.trim()) minutes = parseInt(m.trim()) } var uptime = "Up "; if (days > 0) { uptime += days + " day" if (days != 1) uptime += "s" uptime += ", " } if (hours > 0) { uptime += hours + " hour" if (hours != 1) uptime += "s" uptime += ", " } uptime += minutes + " minute" if (minutes != 1) uptime += "s" root.uptime = uptime } } } Timer { interval: 60000 running: true repeat: true onTriggered: uptimeProc.running = true } }