import QtQuick import Quickshell import qs.config import qs.services SettingsPage { id: root title: "About Panama" lede: "A curated Hyprland desktop built around focus, speed, and good taste." Component.onCompleted: { if (!MachineInfo.scanned) MachineInfo.refresh(); if (GraphicsDevices.devices.length === 0) GraphicsDevices.refresh(); } SettingsCard { title: "Panama Desktop" subtitle: "Tokyo Night Moon · Prism glass · native tiling" TextRow { label: "Hyprland" value: SystemSettings.hyprlandVersion || "Detecting…" } TextRow { label: "Quickshell" value: SystemSettings.quickshellVersion } TextRow { label: "Display" value: SystemSettings.monitorName || "Detecting…" } TextRow { label: "Configuration" detail: Quickshell.shellDir value: "Local" divider: false } } // What GNOME's About panel answers and this page did not: what am I running // on. The rows come from MachineInfo, except graphics, which is joined from // GraphicsDevices rather than read a second time -- two readouts of the same // hardware are two things that can disagree. SettingsCard { title: "This machine" subtitle: "Hardware and system, as the kernel reports it." Repeater { model: MachineInfo.facts TextRow { id: machineRow required property var modelData required property int index label: machineRow.modelData.label value: machineRow.modelData.value } } Repeater { model: GraphicsDevices.devices TextRow { id: gpuRow required property var modelData required property int index label: GraphicsDevices.devices.length > 1 ? "Graphics " + (gpuRow.index + 1) : "Graphics" value: gpuRow.modelData.name divider: gpuRow.index < GraphicsDevices.devices.length - 1 } } TextRow { visible: MachineInfo.scanned && MachineInfo.facts.length === 0 label: "Hardware" detail: "The system did not report anything readable" value: "Unavailable" divider: false } } SettingsCard { title: "Design principles" TextRow { label: "Curated by default" detail: "Strong choices instead of an incoherent matrix of switches" } TextRow { label: "Quiet while idle" detail: "No continuous decorative repaint loops" } TextRow { label: "Real system boundaries" detail: "Every control either works or clearly hands off to its owner" divider: false } } }