feat: Add music and sysinfo to top bar (togglable) - also a bunch of misc fixes

This commit is contained in:
ferreo 2025-07-14 20:40:43 +01:00
parent e1caf737fe
commit b4697235c0
29 changed files with 795 additions and 399 deletions

47
Services/Sysinfo.qml Normal file
View file

@ -0,0 +1,47 @@
pragma Singleton
import QtQuick
import Qt.labs.folderlistmodel
import Quickshell
import Quickshell.Io
import qs.Settings
Singleton {
id: manager
property string updateInterval: "2s"
property string cpuUsageStr: ""
property string cpuTempStr: ""
property string memoryUsageStr: ""
property string memoryUsagePerStr: ""
property real cpuUsage: 0
property real memoryUsage: 0
property real cpuTemp: 0
property real diskUsage: 0
property real memoryUsagePer: 0
property string diskUsageStr: ""
Process {
id: zigstatProcess
running: true
command: [Quickshell.shellRoot + "/Programs/zigstat", updateInterval]
stdout: SplitParser {
onRead: function (line) {
try {
const data = JSON.parse(line);
cpuUsage = +data.cpu;
cpuTemp = +data.cputemp;
memoryUsage = +data.mem;
memoryUsagePer = +data.memper;
diskUsage = +data.diskper;
cpuUsageStr = data.cpu + "%";
cpuTempStr = data.cputemp + "°C";
memoryUsageStr = data.mem + "G";
memoryUsagePerStr = data.memper + "%";
diskUsageStr = data.diskper + "%";
} catch (e) {
console.error("Failed to parse zigstat output:", e);
}
}
}
}
}