| Age | Commit message (Collapse) | Author | Files | Lines |
|
Groups the machine cards into the right-hand columns and leaves the clock
and weather alone on the left, rather than spreading all six across the
middle. Provisional: there is no settled arrangement for the board yet.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
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.
|
|
|
|
|
|
|
|
A finer grid to place cards in smaller increments. The clock takes a
fractional 1.5-column span, which rect_for supports because it is plain
arithmetic with no integer assumption; note that a span of w covers w
cells plus the w-1 gaps between them, so 1.5 is slightly wider than one
and a half bare cells.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
The grid was 4x2, which made every placement decision a coarse one. 8x6
gives 299x157 cells, so a card can be sized in something closer to the
increments the layout actually wants. Nothing in rect_for needed
changing: it derives cell size from COLS and ROWS, so this is a
two-number edit.
Note that ROWS has to cover the tallest row in use. A widget placed on
row 3 of a two-row grid is computed at y=1068 on a 1080px screen and
draws off the bottom, silently.
The arc band no longer has a minimum height. It had one, and in a cell
40px shorter than the content wanted, the minimum won and pulled the
curve up through the stat rows, drawing the sunrise time across the word
WIND. It now takes what is genuinely left and is skipped below the
height where it could be read, so the same widget composes in a 2x2 or a
2x3 cell without overlapping anything. Checked by rendering the widget
offscreen at 2x1, 2x2 and 2x3 before restarting conky.
Layout is now a 1x3 clock with a 2x3 weather card beneath it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Placement is column 1 row 2, directly beneath the clock, which drops to
a single-row cell to make room.
The card's type now scales off the cell WIDTH rather than its height.
Scaling off height meant the text shrank every time the cell got
shorter, and beside the clock's numerals the card read as a whisper.
Width is the stable dimension for this layout and is what constrains the
text anyway, since the stat rows run edge to edge.
Verified against the live dashboard, not only the offscreen render: the
two disagreed about type size precisely because the offscreen harness
was cropped to the card and never showed it next to the clock.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
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>
|
|
Draws current conditions plus a sunrise-to-sunset arc in widgets/weather.lua,
placed at col 2 in dashboard.lua's layout. Schedules the periodic fetch via
execi in conky.conf.in, tying refresh to conky's own lifecycle.
The no-data env-file probe now closes its handle explicitly: the branch reruns
every draw until a fetch succeeds, so an unclosed io.open there would leak one
handle per frame.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
The grid's justification is that one layout table works on differently
shaped screens, so assert it: every cell lands inside the margins at
2560x1080 and 1920x1080, a spanning cell absorbs the gap it covers, and
no shipped layout entry falls outside the declared grid.
dashboard.lua exports its internals for this; cairo and lib.card are
stubbed via package.preload since they only exist inside Conky.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Entry point, grid maths, palette parsing and widget dispatch.
Uses conky_surface(), not cairo_xlib_surface_create: under
out_to_wayland the Xlib drawable and visual are both nil, so the idiom
every Conky-Lua tutorial uses cannot work here.
The pcall overlay lands before any widget exists, because Conky reports
a Lua fault as a blank screen with no message on any stream. Verified
by injecting a fault and seeing it reported. A missing widget names
itself in its own cell rather than leaving the cell empty.
conky.conf here is a development config with literal colours; the
templated one arrives with the UDT wiring.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|