<feed xmlns='http://www.w3.org/2005/Atom'>
<title>prognosis.git/man/prognosis.1, branch main</title>
<subtitle>hour-by-hour terminal forecast in Go with official IMGW warnings for Polish locations, no API key, no dependencies</subtitle>
<id>https://git.labunix.xyz/prognosis.git/atom?h=main</id>
<link rel='self' href='https://git.labunix.xyz/prognosis.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/prognosis.git/'/>
<updated>2026-08-27T06:49:38Z</updated>
<entry>
<title>Draw a meteogram, and let the output go somewhere</title>
<updated>2026-08-27T06:49:38Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-27T06:49:38Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/prognosis.git/commit/?id=83a2eaef9853194093a457b0ab65fc231acce23f'/>
<id>urn:sha1:83a2eaef9853194093a457b0ab65fc231acce23f</id>
<content type='text'>
-svg renders the forecast as a standalone SVG: temperature with the apparent
temperature dashed, precipitation as bars with the probability on its own
right-hand axis, and humidity, over shaded night bands with a rule at each
midnight. The rain panel carries two units, so the probability gets a second
axis; read against millimetres a 60% chance looks like 0.6 mm.

Written as markup rather than through gnuplot or a plotting library, so it
needs nothing installed and works wherever the binary does -- the phone
included. Axis ticks are snapped to round values and the number of gridlines
follows the step, since snapping only the ends still yields 12.5 and 27.5.
An hour label that would land under a bold date is dropped, or "23" and
"28.08" render on top of each other.

-o and -out choose the destination, for the table as much as the meteogram. A
directory gets a filename made from the place and the date, so a daily run does
not overwrite yesterday; a bare name gains the extension, so nothing lands as a
file no viewer will open. Colour is omitted when writing to a file. The place
is transliterated rather than stripped, so Zbylitowska Gora keeps its vowels.

Documented which viewers accept a pipe: feh - and chafa do, nsxiv does not and
answers with its usage, which hides the cause. The earlier claim that
ImageMagick renders these files wrong was too broad -- that is convert falling
back to its own renderer; display delegates to rsvg-convert and is fine.
</content>
</entry>
<entry>
<title>Stand alone, document, and let the config show anything</title>
<updated>2026-08-25T13:42:55Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-25T13:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/prognosis.git/commit/?id=92e1106b91f836339a957312a1ea4449c55114c7'/>
<id>urn:sha1:92e1106b91f836339a957312a1ea4449c55114c7</id>
<content type='text'>
prognosis no longer reads ~/.wegorc. Falling back to another program's
configuration made it useless without wego installed, and hid the fact that
it has no way to know where you are: location= is now required in its own
config, and the error says so and shows how to set it.

Custom columns. Any field the two Open-Meteo APIs expose can be displayed by
declaring it -- column.birch = air:birch_pollen -- and then naming it in
columns=. The source is explicit because forecast and air-quality are separate
services with separate fields; an air column costs one extra request, made only
when one is declared. Air values merge onto forecast hours by timestamp rather
than array index, since nothing guarantees the two endpoints start at the same
hour and merging by position would shift a column by an hour unnoticed. A value
the API withholds renders blank, not zero: for an allergen those are different
claims.

Pollen selection no longer privileges grass. A species named in pollen= is
shown even at zero, because you named it for a reason; pollen=all shows only
what is present, or the line is six zeroes. Grass had been special-cased, which
forced it on someone allergic to birch while hiding theirs.

Temperature colours are compared in Celsius whatever the display units. In
imperial, 85F -- a mild 29C -- was rendering in the red that means IMGW would
issue a heat warning.

A man page, checked by make lint and installed by make install. The Makefile
gains PREFIX/DESTDIR for packaging, a version stamped into the binary, a
release target that refuses to tag a dirty tree or a version with no changelog
entry, cross-compilation for six platforms, and a pre-push hook.

Also: humidity in the default columns, -weather for output meant for someone
else, -ascii so an SMS stays in GSM-7 rather than dropping to 70-character
UCS-2 segments, and -pollen and -version.
</content>
</entry>
</feed>
