mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2026-08-10 08:17:26 +00:00
71 lines
4.3 KiB
QML
71 lines
4.3 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import Quickshell
|
|
import qs.Commons
|
|
import qs.Services.System
|
|
import qs.Widgets
|
|
|
|
// Unified system card: monitors CPU, temp, memory, disk
|
|
NBox {
|
|
id: root
|
|
|
|
Item {
|
|
id: content
|
|
anchors.fill: parent
|
|
anchors.margins: Style.marginS
|
|
|
|
property int widgetHeight: Math.round(65 * Style.uiScaleRatio)
|
|
|
|
ColumnLayout {
|
|
anchors.centerIn: parent
|
|
spacing: 0
|
|
|
|
NCircleStat {
|
|
value: SystemStatService.cpuUsage
|
|
icon: "cpu-usage"
|
|
flat: true
|
|
contentScale: 0.8
|
|
height: content.widgetHeight
|
|
Layout.alignment: Qt.AlignHCenter
|
|
// Highlight color based on thresholds
|
|
fillColor: (SystemStatService.cpuUsage > Settings.data.systemMonitor.cpuCriticalThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.criticalColor || Color.mError) : Color.mError): (SystemStatService.cpuUsage > Settings.data.systemMonitor.cpuWarningThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.warningColor || Color.mTertiary) : Color.mTertiary): Color.mPrimary
|
|
textColor: (SystemStatService.cpuUsage > Settings.data.systemMonitor.cpuCriticalThreshold)? Color.mSurfaceVariant: (SystemStatService.cpuUsage > Settings.data.systemMonitor.cpuWarningThreshold)? Color.mSurfaceVariant: Color.mOnSurface
|
|
}
|
|
NCircleStat {
|
|
value: SystemStatService.cpuTemp
|
|
suffix: "°C"
|
|
icon: "cpu-temperature"
|
|
flat: true
|
|
contentScale: 0.8
|
|
height: content.widgetHeight
|
|
Layout.alignment: Qt.AlignHCenter
|
|
// Highlight color based on thresholds
|
|
fillColor: (SystemStatService.cpuTemp > Settings.data.systemMonitor.tempCriticalThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.criticalColor || Color.mError) : Color.mError): (SystemStatService.cpuTemp > Settings.data.systemMonitor.tempWarningThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.warningColor || Color.mTertiary) : Color.mTertiary): Color.mPrimary
|
|
textColor: (SystemStatService.cpuTemp > Settings.data.systemMonitor.tempCriticalThreshold)? Color.mSurfaceVariant: (SystemStatService.cpuTemp > Settings.data.systemMonitor.tempWarningThreshold)? Color.mSurfaceVariant: Color.mOnSurface
|
|
}
|
|
NCircleStat {
|
|
value: SystemStatService.memPercent
|
|
icon: "memory"
|
|
flat: true
|
|
contentScale: 0.8
|
|
height: content.widgetHeight
|
|
Layout.alignment: Qt.AlignHCenter
|
|
// Highlight color based on thresholds
|
|
fillColor: (SystemStatService.memPercent > Settings.data.systemMonitor.memCriticalThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.criticalColor || Color.mError) : Color.mError): (SystemStatService.memPercent > Settings.data.systemMonitor.memWarningThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.warningColor || Color.mTertiary) : Color.mTertiary): Color.mPrimary
|
|
textColor: (SystemStatService.memPercent > Settings.data.systemMonitor.memCriticalThreshold)? Color.mSurfaceVariant: (SystemStatService.memPercent > Settings.data.systemMonitor.memWarningThreshold)? Color.mSurfaceVariant: Color.mOnSurface
|
|
}
|
|
NCircleStat {
|
|
value: SystemStatService.diskPercents["/"] ?? 0
|
|
icon: "storage"
|
|
flat: true
|
|
contentScale: 0.8
|
|
height: content.widgetHeight
|
|
Layout.alignment: Qt.AlignHCenter
|
|
// Highlight color based on thresholds
|
|
fillColor: ( (SystemStatService.diskPercents["/"] ?? 0) > Settings.data.systemMonitor.diskCriticalThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.criticalColor || Color.mError) : Color.mError): ( (SystemStatService.diskPercents["/"] ?? 0) > Settings.data.systemMonitor.diskWarningThreshold)? (Settings.data.systemMonitor.useCustomColors ? (Settings.data.systemMonitor.warningColor || Color.mTertiary) : Color.mTertiary): Color.mPrimary
|
|
textColor: ((SystemStatService.diskPercents["/"] ?? 0) > Settings.data.systemMonitor.diskCriticalThreshold)? Color.mSurfaceVariant: ((SystemStatService.diskPercents["/"] ?? 0) > Settings.data.systemMonitor.diskWarningThreshold)? Color.mSurfaceVariant: Color.mOnSurface
|
|
}
|
|
}
|
|
}
|
|
}
|