// How much of the Claude subscription is gone, beside the other vitals. // // One number: whichever window is closer to its limit, because that is the one // about to interrupt you. // // Hidden unless asked for AND the collector has real numbers. A bar indicator // reading "unknown" is worse than an empty space, and this is off by default: // it is a coding-tool readout, not something a general-purpose desktop shows // without being asked. // // The glyph and the number live in their own Row, the same shape VitalsField // uses. Anchoring them straight into Pill's layout Row instead made each child // centre against a Row whose height those same children determine, and they // came out sitting off-centre against the rest of the bar. // // Clickable, because a readout you cannot ask anything of is furniture. Left // click opens the settings that govern it; hovering says which window the // number belongs to and when it resets. import QtQuick import qs.config import qs.services import qs.widgets Pill { id: root visible: Settings.showAgentUsage && AgentUsage.available onActivated: ShellState.openSettings("bar") onSecondaryActivated: ShellState.openSettings("bar") Row { spacing: 4 Text { anchors.verticalCenter: parent.verticalCenter text: "\u{F1719}" // md-robot-outline color: { if (AgentUsage.headline >= 90) return Theme.danger; if (AgentUsage.headline >= 75) return Theme.warn; return Theme.barFgDim; } font.family: Theme.fontMono font.pixelSize: Theme.fontSize } Text { anchors.verticalCenter: parent.verticalCenter text: AgentUsage.headline + "%" color: Theme.barFg font.family: Theme.fontFamily font.pixelSize: Theme.fontSizeSmall font.features: Theme.tabularFigures // Fixed and right-aligned so the bar does not shuffle sideways when // the number gains a digit, exactly as VitalsField does. horizontalAlignment: Text.AlignRight width: 30 } } }