summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 46 insertions, 4 deletions
diff --git a/README.md b/README.md
index 17ad747..0e5cb46 100644
--- a/README.md
+++ b/README.md
@@ -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