From 2fe328e64067f77070de3ba51f5cff3643afc47f Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 23:00:32 +0200 Subject: colitur-x: raw Xlib month grid for colitur 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. --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..e7b8c6e --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# colitur-x + +A raw Xlib front-end for [colitur](../colitur): reads `colitur emit --format +csv` on stdin, draws the year as a month grid coloured by each day's +liturgical colour, and shows the selected day's readings underneath. + + colitur emit --format csv --from 2027 --to 2027 | colitur-x + +Keys: arrows or `hjkl` move, `n`/`p` change month, `q` quits. + +## Why it exists + +colitur is a Unix tool: it computes and prints. This is a separate program +that composes with it, so colitur's own dependencies stay frozen +(`dune alcotest qcheck qcheck-alcotest sexplib ppx_sexp_conv`) and its +kernel stays pure. + +## Build + + make + +`-std=c99 -Os -Wall -Wextra`, linking libX11 and libXft. ~17 KB. + +Configuration is compile-time, suckless style: edit `config.h` and rebuild. +There is deliberately no runtime config file — colitur itself owns the +calendar's configuration (language, sigla, overlays); this program owns only +how it is painted. + +## Limits, stated rather than discovered + +- X11 only. Runs under XWayland but is not a Wayland client. +- Read-only. It renders what colitur emits; it edits nothing. +- Xft is used for antialiasing and UTF-8. Dropping it for core X11 fonts + would reduce the dependency list to libX11 and libc alone, at the cost of + correct rendering for `æ`/`œ` and Polish diacritics. Not worth it. +- A tiling window manager will ignore the size hints and give the grid its + own tile; the layout handles that, the empty space is the WM's choice. -- cgit v1.3