This changes the output meter from a VU/peak-like meter of recent
activity to an incrementing visual counter. I believe this is an
improvement, because it's now easier to discern output activity across a
broader range of activity levels.
This needs work. It seems pretty annoying to me right now.
This commit also adds a way for Qmsg to differentiate between
dismiss-easily and dismiss-deliberately types of msg dialogs.
The `Ged` struct's `random_seed` field was mistakenly placed after the
bitfield flags when it was added. It should not have been -- this wastes
space. This change moves it alongside other same-sized fields.
This change also cleans up some initialization ordering that had fallen
out of sync with the declaration ordering. This was harmless, but made
it a little bit more confusing to read.
This avoids using `long` in orca-c, which had previous been avoided.
Using `long` comes with some baggage. It would be best to avoid it where
possible, especially since there are no other uses of it orca-c. If
explicit sizes are needed, use the types from stdint.h. The only reason
`int` is used for argument handling in orca-c's TUI is that `atoi`
requires it. `atol` doesn't provide any advantage over `atoi`, except to
allow the `--seed` option to be larger on some platforms and some
configurations. But I think it's better to have consistent argument
handling, and have `--seed` always have a range of `0..INT_MAX`, which
is going to be signed 32-bit max on almost every platform, unlike
`long`.
This change also allows init_seed to be set to 0, where it previously
was not allowed. The default still remains 1.
Caused undefined behavior on left-shift overflow. This could lead to
either code-erasure by compiler or garbage data left in a register,
possibly corrupting heap.