From af64aed9b49c727d6b4050f3534115cead314f1d Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 17 Sep 2026 09:16:58 +0200 Subject: fix: size the weather card to its content The first draft placed every band at a fixed pixel offset and let the arc absorb whatever height was left. In a 1x2 cell on this monitor that is 794px of arc: a cathedral arch under a fifth of a card of content, nothing like the mockup it was shaped after. Three changes, all visible in an offscreen render of the real widget: - Type sizes and band offsets scale with the rect, within clamps, so the proportions hold on the 1920 monitor as well as this one. - The arc gets a bounded band that follows the stats instead of being pinned to the bottom, so no dead strip opens between them. - The layout gives the widget a 1x1 cell. Its content is about 350px tall and a full-height cell cannot be filled without inventing data. Found before restarting conky by loading conky's own cairo bindings standalone and rendering the widget to a PNG, which is a far tighter loop than install, restart, switch workspace, screenshot. Co-Authored-By: Claude Opus 5 --- docs/superpowers/plans/2026-09-17-weather-widget.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/superpowers/plans/2026-09-17-weather-widget.md b/docs/superpowers/plans/2026-09-17-weather-widget.md index 01cd767..14bf11f 100644 --- a/docs/superpowers/plans/2026-09-17-weather-widget.md +++ b/docs/superpowers/plans/2026-09-17-weather-widget.md @@ -1065,7 +1065,10 @@ In `dashboard.lua`, replace the `layout` table: ```lua local layout = { { widget = 'clock', col = 1, row = 1, w = 1, h = 2 }, - { widget = 'weather', col = 2, row = 1, w = 1, h = 2 }, + -- 1x1, not 1x2: the card's content is about 350px tall, so a full-height + -- cell left a dead band down its middle. A single-row cell is as tall as + -- what it holds. + { widget = 'weather', col = 2, row = 1, w = 1, h = 1 }, } ``` @@ -1182,7 +1185,11 @@ with a dot between the two times. Compare against `idea1.png`. Likely first-pass problems, each fixed in `widgets/weather.lua` and re-screenshotted: - Text overflowing the card's right edge: reduce the font size or shorten the label. -- The arc cramped or overlapping the stats: adjust the `ry2 + 10` offset. +- The arc cramped or overlapping the stats: adjust the offsets in `draw()`. +- Proportions wrong in the other direction, which is what actually happened: + the first draft let the arc absorb all leftover height and drew a 794px + arch. The widget now scales its type to the rect and bounds the arc band, + and the layout gives it a 1x1 cell. - The sun dot off the curve: the Bezier evaluation and the drawn curve have diverged, which means the control points differ between them. -- cgit v1.2.3