167 lines
4.5 KiB
QML
167 lines
4.5 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
import qs.Commons
|
|
import qs.Services
|
|
import qs.Widgets
|
|
|
|
Row {
|
|
id: root
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: Style.marginSmall * scaling
|
|
visible: (Settings.data.bar.showSystemInfo)
|
|
|
|
Rectangle {
|
|
// Let the Rectangle size itself based on its content (the Row)
|
|
width: row.width + Style.marginMedium * scaling * 2
|
|
height: row.height
|
|
color: Color.mSurfaceVariant
|
|
|
|
radius: Style.radiusSmall * scaling
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
|
|
Item {
|
|
id: mainContainer
|
|
anchors.fill: parent
|
|
anchors.leftMargin: Style.marginSmall * scaling
|
|
anchors.rightMargin: Style.marginSmall * scaling
|
|
|
|
Row {
|
|
id: row
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: Style.marginSmall * scaling
|
|
Row {
|
|
id: cpuUsageLayout
|
|
spacing: Style.marginTiny * scaling
|
|
|
|
NIcon {
|
|
id: cpuUsageIcon
|
|
text: "speed"
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
NText {
|
|
id: cpuUsageText
|
|
text: `${SystemStatService.cpuUsage}%`
|
|
font.pointSize: Style.fontSizeReduced * scaling
|
|
font.weight: Style.fontWeightMedium
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
color: Color.mPrimary
|
|
}
|
|
}
|
|
|
|
// CPU Temperature Component
|
|
Row {
|
|
id: cpuTempLayout
|
|
// spacing is thin here to compensate for the vertical thermometer icon
|
|
spacing: Style.marginTiniest * scaling
|
|
|
|
NIcon {
|
|
text: "thermometer"
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
NText {
|
|
text: `${SystemStatService.cpuTemp}°C`
|
|
font.pointSize: Style.fontSizeReduced * scaling
|
|
font.weight: Style.fontWeightMedium
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
color: Color.mPrimary
|
|
}
|
|
}
|
|
|
|
// Memory Usage Component
|
|
Row {
|
|
id: memoryUsageLayout
|
|
spacing: Style.marginTiny * scaling
|
|
|
|
NIcon {
|
|
text: "memory"
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
NText {
|
|
text: `${SystemStatService.memoryUsageGb}G`
|
|
font.pointSize: Style.fontSizeReduced * scaling
|
|
font.weight: Style.fontWeightMedium
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
color: Color.mPrimary
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Row {
|
|
// id: layout
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// spacing: Style.marginSmall * scaling
|
|
// visible: Settings.data.bar.showSystemInfo
|
|
|
|
// // Ensure our width is an integer
|
|
// width: Math.floor(cpuUsageLayout.width + cpuTempLayout.width + memoryUsageLayout.width + (2 * 10))
|
|
|
|
// Row {
|
|
// id: cpuUsageLayout
|
|
// spacing: Style.marginTiny * scaling
|
|
|
|
// NIcon {
|
|
// id: cpuUsageIcon
|
|
// text: "speed"
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// }
|
|
|
|
// NText {
|
|
// id: cpuUsageText
|
|
// text: `${SystemStatService.cpuUsage}%`
|
|
// font.pointSize: Style.fontSizeReduced * scaling
|
|
// font.weight: Style.fontWeightBold
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// verticalAlignment: Text.AlignVCenter
|
|
// color: Color.mPrimary
|
|
// }
|
|
// }
|
|
|
|
// // CPU Temperature Component
|
|
// Row {
|
|
// id: cpuTempLayout
|
|
// spacing: Style.marginTiny * scaling
|
|
|
|
// NIcon {
|
|
// text: "thermometer"
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// }
|
|
|
|
// NText {
|
|
// text: `${SystemStatService.cpuTemp}°C`
|
|
// font.pointSize: Style.fontSizeReduced * scaling
|
|
// font.weight: Style.fontWeightBold
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// verticalAlignment: Text.AlignVCenter
|
|
// color: Color.mPrimary
|
|
// }
|
|
// }
|
|
|
|
// // Memory Usage Component
|
|
// Row {
|
|
// id: memoryUsageLayout
|
|
// spacing: Style.marginTiny * scaling
|
|
|
|
// NIcon {
|
|
// text: "memory"
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// }
|
|
|
|
// NText {
|
|
// text: `${SystemStatService.memoryUsageGb}G`
|
|
// font.pointSize: Style.fontSizeReduced * scaling
|
|
// font.weight: Style.fontWeightBold
|
|
// anchors.verticalCenter: parent.verticalCenter
|
|
// verticalAlignment: Text.AlignVCenter
|
|
// color: Color.mPrimary
|
|
// }
|
|
// }
|
|
// }
|
|
|