aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
AgeCommit message (Collapse)AuthorFilesLines
2026-09-17docs: document the system widgetsDanilo M.1-0/+94
2026-09-17feat: give the clock its own fontDanilo M.1-1/+11
Installs Oswald (OFL-1.1, from googlefonts/OswaldFont) under ~/.fonts/o/Oswald with its license, and points the clock numerals at it for the squared look the rounded Noto Sans Black did not have. Per-widget fonts needed no new machinery: card.font() already takes any family string, so FONT_* are shared defaults rather than a restriction. FONT_CLOCK joins them, and the weather card keeps FONT_HEAVY, so the two no longer have to agree. Cairo still cannot ask for a weight above bold, so a heavier cut is selected by family name as FONT_HEAVY already did. Worth knowing that fontconfig substitutes a default for a family it does not recognise, which is indistinguishable from the font not applying; fc-match tells you which happened. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17feat: add restart.shDanilo M.1-4/+12
Editing the layout table or a widget needs a conky restart and nothing else, since the Lua is symlinked and conky never rereads its config. That was three commands to remember, one of them the hyprctl dispatch form that keeps the dashboard from popping open over the screen. The script syntax-checks before killing anything and refuses to restart on a Lua error, naming the file and line. Without that the first sign of a typo is a blank workspace with no message on any stream, which is the single most confusing failure mode this project has. Falls back to a plain exec where Hyprland is not running, and says what to run by hand if conky fails to come up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17feat: make the clock fill whatever cell it is givenDanilo M.1-0/+27
The numerals scaled off the cell but the date block sat at a fixed drop below them, so a tall cell left a dead band under the date and a short one would have collided. Now the date pins to the bottom edge, the numerals take everything above it, and both type sizes derive from the width, so the slack of a tall cell falls in the middle of the card where it belongs. Type scales off width for the same reason the weather card does: height is what changes when a row is added to the grid, and a widget that shrinks its text whenever its cell gets shorter reads as broken next to its neighbours. Checked at 1x3, 1x6, 2x2, 2x4 and 3x3 on an 8x6 grid before restarting conky. The 1x6 case stays width-bound and leaves room below the numerals, which is correct for a cell far taller than it is wide. The README now states the convention, since it applies to every widget added later: derive offsets from the rect, scale off width, decide where the slack goes, and drop an element that would otherwise overlap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17docs: document the weather widget and fix the screenshot recipeDanilo M.1-9/+92
Adds a Weather section covering the API key, where it lives and why, the 401-while-activating behaviour a new key shows, the execi refresh, and the by-hand fetch check. Adds five gotchas: execi firing under empty text, the atomic cache write, what OWM actually returns for a bad key and city, the no-raise invariant in lib/weather.lua, and type scaling off width. Also corrects three things that had gone stale: the symlink list omitted bin/, the layout example still showed a single full-height clock, and the test line omitted test_weather.lua. The screenshot recipe was wrong in two ways, both of which bit during this work. It slept a fixed second and raced the compositor, which is how a capture came back showing a terminal instead of the dashboard; it now polls for the workspace switch. And it fed the window's geometry to grim -g, but a window on a hidden special workspace reports a negative Y, so that grabs the wrong region; it now captures the output. Every command in the file was run as written before committing this. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16docs: add READMEDanilo M.1-0/+132
Install, how to edit the layout table, how to run the checks, and the five gotchas that cost real time: conky_surface() on Wayland, a Lua error presenting as a blank screen, own_window_type needing to be normal, the palette being unreadable through conky_parse, and Cairo having no Black font weight. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>