added two new themes, reworked Crypto.qml and Stats.qml, standardized the buttons for the modules, added a new Sidebar widget which contains new 3 modules
This commit is contained in:
@@ -28,6 +28,8 @@ ModuleChip {
|
||||
property real cpuVal: 0
|
||||
property real memVal: 0
|
||||
property real diskVal: 0
|
||||
property real cpuTemp: -1
|
||||
property real gpuTemp: -1
|
||||
|
||||
Timer {
|
||||
interval: 2000
|
||||
@@ -39,7 +41,20 @@ ModuleChip {
|
||||
|
||||
Process {
|
||||
id: statsProc
|
||||
command: ["sh", "-c", "top -bn1 | awk '/^%Cpu/ {print 100-$8}'; free | awk '/Mem:/ {print ($2-$7)/$2 * 100}'; df / --output=pcent | tail -1 | tr -dc '0-9'"]
|
||||
command: ["sh", "-c",
|
||||
"top -bn1 | awk '/^%Cpu/ {print 100-$8}'; " +
|
||||
"free | awk '/Mem:/ {print ($2-$7)/$2 * 100}'; " +
|
||||
"df / --output=pcent | tail -1 | awk '{print $1}'; " +
|
||||
"ct=-1; for d in /sys/class/hwmon/hwmon*; do " +
|
||||
"n=$(cat $d/name 2>/dev/null); " +
|
||||
"if echo \"$n\" | grep -qiE 'coretemp|k10temp|cpu_thermal'; then " +
|
||||
"ct=$(( $(cat $d/temp1_input 2>/dev/null) / 1000 )); break; " +
|
||||
"fi; done; echo $ct; " +
|
||||
"gt=-1; for d in /sys/class/hwmon/hwmon*; do " +
|
||||
"n=$(cat $d/name 2>/dev/null); " +
|
||||
"if echo \"$n\" | grep -qiE 'amdgpu|radeon'; then " +
|
||||
"gt=$(( $(cat $d/temp1_input 2>/dev/null) / 1000 )); break; " +
|
||||
"fi; done; echo $gt"]
|
||||
property string rawOutput: ""
|
||||
stdout: SplitParser {
|
||||
onRead: data => { statsProc.rawOutput += data + "\n" }
|
||||
@@ -47,10 +62,12 @@ ModuleChip {
|
||||
onRunningChanged: {
|
||||
if (!statsProc.running && statsProc.rawOutput) {
|
||||
const lines = statsProc.rawOutput.trim().split("\n")
|
||||
if (lines.length >= 3) {
|
||||
if (lines.length >= 5) {
|
||||
let v = parseFloat(lines[0]); root.cpuVal = isNaN(v) ? 0 : v
|
||||
v = parseFloat(lines[1]); root.memVal = isNaN(v) ? 0 : v
|
||||
v = parseFloat(lines[2]); root.diskVal = isNaN(v) ? 0 : v
|
||||
v = parseFloat(lines[3]); root.cpuTemp = isNaN(v) ? -1 : v
|
||||
v = parseFloat(lines[4]); root.gpuTemp = isNaN(v) ? -1 : v
|
||||
}
|
||||
statsProc.rawOutput = ""
|
||||
}
|
||||
@@ -63,9 +80,11 @@ ModuleChip {
|
||||
|
||||
property real value: 0.0
|
||||
property string icon: ""
|
||||
property string label: ""
|
||||
property real iconXOff: 0
|
||||
property color ringColor: Cfg.Config.theme.accent
|
||||
property color trackColor: Cfg.Config.theme.statsTrackColor
|
||||
property string labelSuffix:"%"
|
||||
|
||||
Behavior on value {
|
||||
NumberAnimation { duration: 800; easing.type: Easing.OutCubic }
|
||||
@@ -75,7 +94,7 @@ ModuleChip {
|
||||
|
||||
Text {
|
||||
id: leftPct
|
||||
text: Math.round(ring.value) + "%"
|
||||
text: Math.round(ring.value) + ring.labelSuffix
|
||||
color: ring.ringColor
|
||||
font.pixelSize: Cfg.Config.statsRingFontSize
|
||||
font.bold: true
|
||||
@@ -148,7 +167,7 @@ ModuleChip {
|
||||
|
||||
Text {
|
||||
id: rightPct
|
||||
text: Math.round(ring.value) + "%"
|
||||
text: Math.round(ring.value) + ring.labelSuffix
|
||||
color: ring.ringColor
|
||||
font.pixelSize: Cfg.Config.statsRingFontSize
|
||||
font.bold: true
|
||||
@@ -171,25 +190,51 @@ ModuleChip {
|
||||
spacing: 8
|
||||
|
||||
StatRing {
|
||||
visible: Cfg.Config.statsShowCpu
|
||||
value: root.cpuVal
|
||||
icon: ""
|
||||
label: "CPU"
|
||||
iconXOff: 0.3
|
||||
ringColor: root.t.statsCpuColor
|
||||
trackColor: root.t.statsTrackColor
|
||||
}
|
||||
|
||||
StatRing {
|
||||
visible: Cfg.Config.statsShowMem
|
||||
value: root.memVal
|
||||
icon: ""
|
||||
label: "RAM"
|
||||
ringColor: root.t.statsMemColor
|
||||
trackColor: root.t.statsTrackColor
|
||||
}
|
||||
|
||||
StatRing {
|
||||
visible: Cfg.Config.statsShowDisk
|
||||
value: root.diskVal
|
||||
icon: ""
|
||||
label: "DISK"
|
||||
ringColor: root.t.statsDiskColor
|
||||
trackColor: root.t.statsTrackColor
|
||||
}
|
||||
|
||||
StatRing {
|
||||
visible: Cfg.Config.statsShowCpuTemp && root.cpuTemp >= 0
|
||||
value: root.cpuTemp
|
||||
icon: ""
|
||||
label: "CPU°C"
|
||||
ringColor: root.t.statsCpuTempColor
|
||||
trackColor: root.t.statsTrackColor
|
||||
labelSuffix: "°C"
|
||||
}
|
||||
|
||||
StatRing {
|
||||
visible: Cfg.Config.statsShowGpuTemp && root.gpuTemp >= 0
|
||||
value: root.gpuTemp
|
||||
icon: ""
|
||||
label: "GPU°C"
|
||||
ringColor: root.t.statsGpuColor
|
||||
trackColor: root.t.statsTrackColor
|
||||
labelSuffix: "°C"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user