import QtQuick import QtQuick.Layouts import Caelestia.Config import qs.components import qs.components.controls import qs.components.misc import qs.services Item { id: root anchors.top: parent.top anchors.bottom: parent.bottom implicitWidth: layout.implicitWidth + layout.anchors.margins * 2 Ref { service: SystemUsage } ColumnLayout { id: layout anchors.horizontalCenter: parent.horizontalCenter anchors.top: parent.top anchors.bottom: parent.bottom anchors.margins: Tokens.padding.large spacing: Tokens.spacing.medium Resource { icon: "memory" value: SystemUsage.cpuPerc } Resource { icon: "memory_alt" value: SystemUsage.memPerc fgColour: Colours.palette.m3tertiary } Resource { icon: "hard_disk" value: SystemUsage.storagePerc fgColour: Colours.palette.m3secondary } } component Resource: CircularProgress { id: res required property string icon Layout.fillHeight: true implicitSize: height strokeWidth: Tokens.sizes.dashboard.resourceProgressThickness Behavior on value { Anim {} } MaterialIcon { anchors.centerIn: parent text: res.icon font: Tokens.font.icon.large color: res.fgColour } } }