diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 50 |
1 files changed, 46 insertions, 4 deletions
@@ -38,7 +38,11 @@ Krakow, PL Mon 10 Aug 05:15 up 20:01 down GMT+2 make build # build ./prognosis make install # build and install into ~/.local/bin make cross # dist/ binaries for linux-amd64, linux-arm64, android-arm64 - make ci # gofmt, vet, tests, and the no-dependencies check + make ci # gofmt, vet, tests, man page, no-dependencies check + make install-hooks # pre-push hook that runs make ci + +Packagers: `make install PREFIX=/usr DESTDIR=/tmp/pkg` installs the binary and +`man/prognosis.1`. Needs `~/.local/bin` on `PATH`. For the phone, copy `dist/prognosis-android-arm64` across — no interpreter, no shebang, nothing to install. @@ -62,6 +66,43 @@ blank column. glyphs are single-width and monochrome, so they follow the terminal palette; emoji are colour glyphs from a fallback font and are not all one cell wide. +### Pollen + +`pollen=` decides whether the allergen line appears at all and which species it +carries: + + pollen=none # no pollen line + pollen=all # every species that has a reading + pollen=birch,mugwort # exactly these, always — even at zero + +A species you name is shown even when it reads zero: you named it because you +react to it, so "none today" is the answer you wanted. With `all` nobody chose, +so absent species are dropped rather than printing a line of zeroes. `-pollen` +does the same for one run. + +### Custom columns + +Any field the two Open-Meteo APIs expose can be displayed, whether or not +prognosis ships with it. Declare a short name, then use it: + + columns=hour,temp,birch,soil,conditions + + column.birch = air:birch_pollen + column.soil = forecast:soil_temperature_0cm + + label.birch = birch + decimals.birch = 1 + suffix.soil = ° + +`forecast` is the weather API, `air` the air-quality one that carries the +allergens — they are separate services with separate fields, which is why the +source is explicit. An `air` column costs one extra request, made only when one +is declared. + +`label.`, `width.`, `decimals.` and `suffix.` are optional. A custom name may +not shadow a built-in column, and a value the API does not supply renders blank +rather than as zero: for an allergen, "no data" and "none" are different claims. + `display_lang=` is `en` or `pl`, covering everything prognosis writes itself — headers, condition names, labels, dates, pollen species and bands. **IMGW publishes its warning text in Polish only**, so that text stays Polish in either @@ -78,8 +119,9 @@ than the original. prognosis --no-graph # table only prognosis --no-color # plain text -Location comes from `location=` in `~/.wegorc`, so wego and prognosis never -disagree about where you are. `-l` overrides it for one run. +Location comes from `location=` in the config file; `-l` overrides it for one +run. prognosis is standalone — it reads no other program's configuration and +will not guess where you are. Quote a name that contains a comma or a space. `-l Wiry, PL` is two arguments once the shell has finished with it, and prognosis refuses it rather than @@ -176,7 +218,7 @@ as bare numbers rather than banded on a guess. - **Open-Meteo hourly arrays start at 00:00 local.** Slicing from the front reports this morning, not the hours ahead. See `openmeteo.WindowStart`. - **The table does not shrink to fit.** Column widths are fixed; the default set - needs 34 columns. `TestTableMinimumWidthIsKnown` pins that figure. Use + needs 40 columns. `TestTableMinimumWidthIsKnown` pins that figure. Use `columns=` for a narrow terminal. - **GUGiK's default search radius is 100 m**, which finds nothing in the mountains or deep countryside — indistinguishable from being abroad. The |
