mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2025-12-06 06:36:15 +00:00
- All cards now live in Modules/Cards - CalendarPanel is now called ClockPanel - Added a way to ease settings migration in separate QML files
88 lines
10 KiB
QML
88 lines
10 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
|
|
}
|
|
}
|
|
}
|
|
}
|