// CPU / RAM / GPU readout, in that order — the exact set and order the GNOME
// Vitals extension was configured with (_processor_usage_, _memory_usage_,
// _gpu#1_usage_).
//
// Values are colour-coded rather than graphed: at bar size a number you can
// glance at beats a sparkline you have to squint at.

import QtQuick
import qs.config
import qs.services
import qs.widgets

Pill {
    id: root

    // Right-click opens the settings that govern this widget. Which readouts
    // appear in the bar, and how often they update.
    onSecondaryActivated: ShellState.openSettings("appearance")

    interactive: false

    Row {
        spacing: Theme.itemSpacing

        VitalsField {
            glyph: "\u{F4BC}"    // oct-cpu
            value: Vitals.cpu
            visible: Settings.showCpu
        }

        VitalsField {
            glyph: "\u{F035B}"   // md-memory
            value: Vitals.memory
            visible: Settings.showMemory
            // Memory sitting high is normal (page cache, browsers); only start
            // complaining much later than for CPU.
            warnAt: 80
            dangerAt: 92
        }

        VitalsField {
            glyph: "\u{F08AE}"   // md-expansion_card
            value: Vitals.gpu
            visible: Settings.showGpu && Vitals.gpuAvailable
        }
    }
}
