diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 09:16:58 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 09:16:58 +0200 |
| commit | af64aed9b49c727d6b4050f3534115cead314f1d (patch) | |
| tree | f085ad2769bd1583e85b941c43dd13d362f0b89c /docs | |
| parent | 2bdb74a1cbd4b33216d94713de1f1b3c81f631e2 (diff) | |
| download | conky-theme-udt-af64aed9b49c727d6b4050f3534115cead314f1d.tar.gz conky-theme-udt-af64aed9b49c727d6b4050f3534115cead314f1d.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/superpowers/plans/2026-09-17-weather-widget.md | 11 |
1 files changed, 9 insertions, 2 deletions
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. |
