aboutsummaryrefslogtreecommitdiffstats
path: root/DESIGN.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-13 11:35:00 +0200
committerDanilo M. <danix@danix.xyz>2026-10-13 11:35:00 +0200
commit3943e08dabe684b409a3ac99c9371fbeb5df5cdb (patch)
tree7dcedbb2d64a04e59ab239a8c40c04f0f0cf29aa /DESIGN.md
parentb2fe3f493efc12dd300f0e2b2ede5660ee70c193 (diff)
downloadconky-theme-udt-3943e08dabe684b409a3ac99c9371fbeb5df5cdb.tar.gz
conky-theme-udt-3943e08dabe684b409a3ac99c9371fbeb5df5cdb.zip
feat: system, gpu, disks and network move to the quickshell islandHEADmaster
The quickshell island's performance panel now shows CPU, RAM, temperatures, the GPU, disks and network, and warns from the status pill when something runs hot, fills up, or the public IP drifts from the pinned one. Two dashboards drawing the same numbers would drift apart, so the four widgets go, with the disks and public IP samplers. The island keeps writing ~/.cache/udt/pubip.txt in the same format. The freed space is left empty for the user to rearrange. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'DESIGN.md')
-rw-r--r--DESIGN.md24
1 files changed, 9 insertions, 15 deletions
diff --git a/DESIGN.md b/DESIGN.md
index b463c1f..cd7a8a5 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -12,15 +12,13 @@ bottom:
- **Header.** The title, or the glyph that stands in for it, sits top-left in
the `label` colour. The card's **big number** sits at the right edge, on the
same line, in `FONT_HEAVY`. Nothing else shares that line. A card whose data
- lives entirely in its variable band drops the big number: `disks` has no
- headline, the rings are the value.
+ lives entirely in its variable band drops the big number and lets that band be the value.
- **Body.** Rows follow one pattern: **label left, value right**
(`card.text` and `card.text_right`), so the eye runs down the right edge for
numbers. A row's value takes the `threshold` colour when it is a measured
quantity, and stays in `value` when it is not (a fan RPM, a total).
- **Variable band.** One element may absorb the height left over, chosen per
- card: the equaliser in `system`, the daylight arc in `weather`, the ring row
- in `disks`. Or the type itself fills the cell.
+ card: the daylight arc in `weather`. Or the type itself fills the cell.
Failure states keep the chrome and draw a notice in it ("no cache data", `--`
for a missing sensor). An empty cell is indistinguishable from a crashed
@@ -40,7 +38,7 @@ Everything else exists to keep those two readable at any cell size.
of a width fit and a height budget. `card.fit_unit` measures candidate rows
and returns the largest base size that fits the width, and a row that would
collide pulls the size down. Bigger cell, bigger type instead of empty space.
- The `system`, `gpu` and `cache` cards do this; a card that cannot afford the
+ The `cache` card does this; a card that cannot afford the
measuring pass may key off width with a clamped factor.
- **Roles.** `FONT_MONO` for labels and row text, `FONT_HEAVY` for the big
number, `FONT_UI` for prose (a condition description, a notice). Sizes within
@@ -54,14 +52,11 @@ One language for every measured quantity, so state is read rather than decoded:
| State | Role | Example |
|---|---|---|
-| fine | `ok` | a cool sensor, an empty filesystem |
-| busy | `warning` | a core under load, a filesystem past 25% |
-| hot / full | `critical` | a sensor at its ceiling, a nearly full disk |
-
-- Proportions (CPU load, filesystem and cache usage) use **25% / 75%**.
-- Temperatures use a **per-sensor pair**, because 70C is unremarkable on a CPU
- and alarming on an NVMe. The pairs live beside the hwmon bindings in the
- widget.
+| fine | `ok` | a fresh cache, a current changelog |
+| busy | `warning` | a cache past 25% |
+| hot / full | `critical` | a cache past 75%, a stale changelog |
+
+- Proportions (cache usage) use **25% / 75%**.
- `warning` is the palette's middle role. The board should show all three
states in normal use, or the language is not earning its place.
- The big value's colour follows what it is: `body` for a plain number, the
@@ -72,8 +67,7 @@ One language for every measured quantity, so state is read rather than decoded:
## Glyphs
Nerd Font glyphs stand in for labels where an icon reads faster than a word:
-the disks rings put a distro / house / disk / network glyph at each ring's
-centre, weather puts the condition glyph in its header, and every card title
+weather puts the condition glyph in its header, and every card title
carries one in `highlight` before its label (the codepoints live in
`card.ICON`). A wrong-but-present codepoint draws a plausible neighbour rather
than failing, so render a new glyph and look at it before trusting it.