lux-shell/modules/bar/components/Gpu.qml
2025-08-29 18:49:34 -04:00

57 lines
1.3 KiB
QML

import qs.components
import qs.config
import qs.constants
import qs.services
import qs.utils
import qs.widgets
import QtQuick
import QtQuick.Layouts
StyledButton {
id: root
property bool showTemp: false
onClicked: {
root.showTemp = !root.showTemp;
}
contentItem: RowLayout {
id: row
spacing: 0
Ref {
service: SystemInfo
}
StyledText {
id: icon
font.family: Theme.lucide.font.family
font.pixelSize: Dimensions.gpu.iconSize
font.bold: true
text: Icons.gpu
color: root.hovered ? Theme.palette.primarycontent : Theme.palette.basecontent
}
StyledText {
id: text
font.pixelSize: Dimensions.gpu.fontSize
text: ` ${(SystemInfo.gpuPerc * 100).toFixed().toString().padStart(2, "_")}%`
color: root.hovered ? Theme.palette.primarycontent : Theme.palette.basecontent
states: [
State {
name: "temp"
when: root.showTemp
PropertyChanges {
text {
text: ` ${SystemInfo.gpuTemp.toFixed().toString().padStart(2, "_")}`
}
}
}
]
}
}
}