aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-09-17-system-widgets-design.md
AgeCommit message (Collapse)AuthorFilesLines
2026-09-17docs: correct the system-widget comments and defer the age markerDanilo M.1-0/+12
Fix the conky.conf.in comment to name all three samplers and the README to say the cache sampler runs every 15 minutes. Rewrite the disks layout comment to match per_row = n (no wrapping), drop the stale "seventeenth bar" note, and record in the spec that the cache age marker is deliberately deferred with the epoch-line upgrade path.
2026-09-17docs: give the system widgets a shared colour languageDanilo M.1-12/+87
Thresholds colour every quantity that has a comfortable range: ok below the first, warning between, critical above. 25/75 for filesystems, cache and CPU load; per-sensor pairs for temperatures, because 70C is unremarkable on a CPU and alarming on an NVMe. The per-core row becomes an equaliser: sixteen vertical bars rising from a baseline, coloured by load. Disks become idea2's rings, an icon at the centre and the arc coloured by usage. Cache highlights its largest subdirectory. This needs a `warning` role the dashboard does not currently expose. udt-palette already resolves it in every scheme, mapping yellow (or Nord's aurora_yellow) to it globally, and other generators already read it, so adding it is one word in gen_conky's role tuple plus a placeholder and a palette line. No scheme file changes. Three new primitives in lib/card.lua rather than per-widget drawing: bar, ring, and a threshold helper so all four cards agree on the rule instead of each re-deriving it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17docs: add the system widgets designDanilo M.1-0/+221
Four cards: CPU/RAM with every temperature, GPU, filesystems, and the user cache. Three were asked for; cache became its own card because it is a different refresh cycle and sharing the disks card would have made the densest card in the dashboard. Two findings that shaped it, both from probing the hardware rather than assuming: - The Arc B580 exposes no utilisation figure. The xe driver has no gpu_busy_percent, intel_gpu_top refuses the device outright, and gputop prints per-process rows with ANSI escapes, which is not an interface to build on. The card shows temperatures and fan speed and no load bar, rather than inventing a number. - /data is on a spinning disk with no hwmon chip, so there is no sda temperature to show. Reading SMART would need smartctl as root and would spin up a sleeping disk each poll. Also: the four NFS mounts are two filesystems behind two servers, so showing all four printed every number twice. One mount per server. Both new samplers follow the weather fetch's cache-and-read pattern, which exists precisely so an unreachable NFS server costs a stale cache instead of freezing the draw hook. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>