Previously the format placeholders were auto-converted to the maximum possible
unit, e.g. /proc/meminfo reports MemTotal of 16307104kB which will get
converted to 15.6GiB. It is now possible to specifiy the target unit, e.g. Mi,
which will be used for the conversion - in the example it would lead to
15924.9MiB.
The resulting number can now be further formatted via the decimal option. It
allows to specify the number of decimals to use, e.g. 15.6GiB vs. 15GiB or
15924.9MiB vs. 15925MiB.
For my thoughts about optional dependencies, see
https://michael.stapelberg.ch/posts/2019-05-23-optional-dependencies/
This commit follows the best practices outlined in that article:
1. The travis config was modified to verify both code paths build and link/don’t
link against pulseaudio.
2. If pulseaudio is missing, the build fails until packagers explicitly pass a
--disable flag. In practice, I think the only situation when this flag should
be set is in source-based linux distributions where users can express
package-level compilation preferences (e.g. Gentoo USE flags).
3. The --version output now reflects the status of the optional dependency.
fixes#359
Added a function to print file contents to status bar without newlines.
Added tests for print file contents function
Added manpage entry for file contents
This change addresses the issue #199 asking for multiple CPU support. It
takes an arbitrary CPU number and outputs its usage using the same
arithmetics as for CPU aggregation. It currently doesn't support
FreeBSD.
Using title number all, this enables aggregates. Note that FreeBSD and
OpenBSD previously only reported aggregates, so this is bringing Linux
and NetBSD that functionality.
Changes the default battery reporting to the aggregate since most
users probably don't care about individual batteries. For single-battery
systems there should be no change.
Fixes one obvious memory leak in NetBSD.
CPU usage had previously not supported the color option. Add support
for a "degraded" state above which the degraded color is used, and a
higher "bad" state above which the "bad" color is used. One possible
use for these might be indicating whether one or all cores are
saturated.
Unlike the color settings for other, these are set high enough to be
disabled by default. This is done because i3status determines CPU
usage over only the last display interval, which means that, a user
with a low refresh rate might see frequent, potentially-annoying color
changes.
Since we have deterministic device names in Linux, these strings are a
much better default in the i3status config than "eth0" and "wlan0" (what
we used before).
Replaced hard coded status strings (CHR, BAT, FULL) in
print_battery_info.c with user defined strings. The new strings are
'status_chr', 'status_bat' and 'status_full' and can be set in i3status.conf.
e.g.
status_chr = "⚡ CHR"
If any of the new status strings is omitted the standard strings (CHR,
BAT, FULL) are used.