| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This repo now holds one finished program rather than a finished one and a
sketch. The microui front-end, its Xlib backend and the vendored microui
went to ../colitur-experiments with their history intact.
Makefile, config.h and README trimmed to match.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cell size is now computed from the window -- width divided seven ways,
height six -- and the number of lines a feast name gets is whatever fits
the resulting cell. config.h holds minimums rather than sizes.
Under a tiling window manager the calendar now uses its whole tile. It
previously drew a fixed 196x116 grid and left the rest of the tile black,
which is what every screenshot of it has shown.
The size hint is now PREFERRED plus MINIMUM, never fixed. Pinning it
fought the WM, which ignored it anyway, and stopped the grid using a
larger tile.
Added -g WxH, the same flag st takes, mainly because it makes the reflow
testable: verified at 1365x687 (two name lines) and 1852x1024 (three).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both markers were drawn in gold, which works on a dark cell and very
nearly disappears on a white one -- and most days are white.
The selection is now ringed twice, dark outside and bright inside, so it
reads against a white cell and a red one without knowing which it is. The
I-class marker is a badge rather than coloured text: filled with the
cell's own foreground and lettered in its background, so it inverts
against whatever the day's liturgical colour is.
It also opens on TODAY when the input covers it, which is what a viewer
should do; colitur's kernel still never reads a clock.
Drawing now goes to an off-screen pixmap and CX_DUMP writes one frame
out, so the result can be checked without screenshotting a window whose
contents X does not retain while it is obscured.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skipping the first line unconditionally punished the obvious way to view
one month --
colitur emit --format csv ... | grep '^2027-04' | colitur-x
-- by silently eating 1 April, because grep had already removed the
header the program still expected. A filter is exactly what this program
should compose with.
A header is the line beginning 'date,'; anything else is a day. Verified
all three ways: full year with header 365 rows from 01-01, a grepped
month without header 30 rows from 04-01, and the old head -1 incantation
still 30 rows.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Verifying what the program actually draws by screenshotting its window is
unreliable: X does not retain a window's contents while it is obscured or
on an unfocused tag, so import and xwd can both return solid black while
the rendering is correct. Reading back the off-screen pixmap always
works.
Used to confirm the XRectangle clip-truncation fix: rows now run
unbroken from 2027-01-01 to 2027-01-29 with every column populated,
where before the twelfth row lost everything but its name.
|
| |
|
|
|
|
| |
PREFIX ?= $(HOME)/.local and a '## '-comment help target, matching the
sibling projects. The old file had no all target, no install, and a
clean that removed only one of the two binaries.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Same data as colitur-x, but the invocation is editable: year, language,
book-name form and numbering tradition are buttons that re-run colitur.
No calendar logic is reimplemented; the status line shows the exact
command that produced what is on screen.
microui (MIT, rxi) is vendored rather than packaged -- a copied-in
dependency cannot rot, which is the whole reason to prefer it over a
toolkit here.
mu_x11.c carries one bug worth recording: microui resets its scissor
with an unclipped rect of 0x1000000, and XRectangle's w/h are unsigned
short, so it truncated to 0 and turned 'clip nothing' into 'clip
everything'. A panel drew its first screenful and the rest vanished.
|
|
|
Reads colitur emit --format csv on stdin and draws the year as a month
grid coloured by liturgical colour, with the selected day's readings
below.
A separate program on purpose: colitur's dependencies are frozen and its
kernel is pure, so a front-end composes with it rather than living in it.
Configuration is compile-time, the same model clectio uses.
|