aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/cache.lua
AgeCommit message (Collapse)AuthorFilesLines
2026-09-18feat: add a title icon to every labelled cardDanilo M.1-3/+3
Add card.ICON and a card.title helper that draws the glyph in the highlight colour before the label, at the label's own size. The eight labelled cards use it, in both the fit_unit width measurement and the draw, so the icon cannot overrun a narrow cell. Clock (no label) and weather (condition glyph already) are unchanged, and the no-data notice titles stay text-only. Codepoints were chosen against a rendered contact sheet, not fontconfig alone, since a wrong codepoint draws a plausible neighbour.
2026-09-18refactor: unify card no-data face and fluid sizingDanilo M.1-14/+1
Extract card.notice so every cached card's no-data state is one fluid, theme-consistent face instead of a copy per widget, and delete the fixed-size card.label it replaces. Derive weather's arc geometry from its band (pad, curve room, sun dot, time labels) instead of fixed pixels, and cap the arc at a proportion of the card's width rather than 240px. Derive disks' bar-fallback height and its address type from the card's own label scale. Standardise the big-value factor to 1.0 across the fit_unit cards and document the big-value colour rule and the disks headline exception.
2026-09-17feat: show free and total under each disk ringDanilo M.1-3/+3
Replaces the percentage, which the ring already draws as an angle. A number repeating it costs a row in a column about 75px wide. Free carries the threshold colour because it is the measured quantity; the total is fixed and stays in the plain value colour, so each column has one coloured number. The cache card adopts card.truncate in the same pass: it was slicing names by byte, which halves a multi-byte character. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17fix: sit the gpu and cache titles level with the big valueDanilo M.1-2/+2
The 'GPU' and 'CACHE' labels shared the big number's baseline, so they read as sitting under it. Move them to the card's top-left, the same title position the other cards use, level with the top of the value.
2026-09-17feat: fluid type for the gpu and cache cardsDanilo M.1-20/+53
The big value moves to the right of the heading, on the same baseline, so the card's width carries it instead of leaving the right half empty. Type now scales to fill the cell: card.fit_unit measures the rows and returns the largest size that fits the width, and the widget takes the smaller of that and its height budget, shrinking only where a row would collide.
2026-09-17fix: adjust the system cards against the screenshotsDanilo M.1-3/+3
2026-09-17feat: add the disks and cache cardsDanilo M.1-0/+63
disks draws a ring per filesystem from the df sample, with the NFS server address read from the device field and a labelled-bar fallback when the rings would be too small to read. cache shows the ~/.cache total and its four largest children from the du sample. card.ring now resets the cairo path first: a preceding card.text() leaves a current point, and cairo_arc() joins to it with a straight line, so the disks rings were drawn with stray chords. The ring primitive had no caller until now, which is why it went unnoticed.