Age | Commit message (Collapse) | Author |
|
use format_placeholder for mem
|
|
|
|
use format_placeholder for ipv6_addr
|
|
|
|
|
|
In the case where no CPU number is given, skipping a character of
padding actually skips the null terminator, causing further iterations
through the loop to read out of bounds. Have sscanf() return the number
of characters read, instead of reconstructing it from the CPU number.
This was observed as a failure in test 024-cpu-usage-invalid-cpu.
|
|
Avoid using the OSS emulation layer to fetch the master volume,
and instead share the audioio code with OpenBSD.
Avoid a failed read on the master control's mute enum if it can't
be found, because sometimes there isn't one.
|
|
use format_placeholder for eth.info
|
|
|
|
|
|
use format_placeholder for ddate
|
|
|
|
|
|
|
|
add wireless format-options
|
|
|
|
|
|
Values stored as `unsigned long` in "/proc/meminfo" but they were
handled as `long`.
On 32-bit systems with 4G memory it results in integer overflow.
|
|
Allow custom output, backwards-compatible to integer_battery_capacity
|
|
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.
|
|
Use station info instead of bss info to update %signal and %quality.
Bss info is based on scan info and doesn't get updated often. Station
info get's updated with every beacon. Bss info still used as fallback.
|
|
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Failing to read() some data into the destination buffer from the slurp()
function was not considered an error. This means that we were
potentially leaving the caller with an uninitialized destination buffer
without letting him know it's uninitialized.
It is quite unlikely that a single call to read() would ever fail right
after a successful call to open(..., O_RDONLY). However, one practical
example of this happening is when the file being opened is actually a
directory.
Fixed by propagating the error (i.e. returning false from slurp()) if
the call to read() fails.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Detect and link against ossaudio.
Comment out unused code and functions.
|
|
fixes #343
fixes #344
|
|
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
|
|
|
|
Fix headers meant for OpenBSD, but snuck in for FreeBSD
|
|
This is required so that CTL_HW and others are defined (ran into this on OpenBSD
6.5).
|
|
|
|
If acpibat watts value is not available, try current (for batteries
that report in amps), then convert to watts.
originally submitted by @jcs
|
|
related to #331
Previously, if max_chars was read, the null byte would be written
past the end of buf.
|
|
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
|
|
Before this fix, i3status would display 34464 Mbit/s instead of 100000 Mbit/s,
because it was only looking at ecmd.speed, ignoring ecmd.speed_hi.
|
|
|
|
|
|
This commit implements the %devicename specifier for the volume module
for both PulseAudio and ALSA. This way, i3status will be able to display
the specific device that corresponds to the volume indicator.
Note that this is not implemented for the OSS API but is left in a state
where someone can pick it up for the future.
|
|
When using ALSA, the "Capture" mixer doesn't have the playback channel,
instead "capture"-related methods should be used to get information
about the current volume / state of the mixer.
|
|
|
|
|
|
Read /proc/mounts if /etc/mtab can't be read
|
|
|
|
|
|
Fixes #308
|
|
Currently, the module cpu_usage prints %cpu0 information for the invalid
%cpu placeholder (i.e. the cpu number is missing).
Consider the following configuration.
order += "cpu_usage"
cpu_usage {
format = "cpu0=%cpu0 cpu1=%cpu1 cpu=%cpu"
# missing cpu number -------------------^
}
The configuration above produces the output below.
$ i3status -c config
i3status: trying to auto-detect output_format setting
i3status: auto-detected "term"
cpu0=-2% cpu1=-49% cpu=-2%
cpu0=06% cpu1=02% cpu=06%
cpu0=05% cpu1=06% cpu=05%
...
The module prints %cpu0 at the third placeholder where it should report
an error.
This commit fixes this behavior by initializing `number' to -1. If the
cpu is missing in %cpu placeholder, the sscanf function does not set
`number'. Because `number' is -1 (lower to 0), an error is reported and
the placeholder is skipped.
$ i3status -c ./config
i3status: trying to auto-detect output_format setting
i3status: auto-detected "term"
provided CPU number '-1' above detected number of CPU 4
cpu0= cpu1=-48% cpu=
provided CPU number '-1' above detected number of CPU 4
cpu0= cpu1=11% cpu=
provided CPU number '-1' above detected number of CPU 4
cpu0= cpu1=03% cpu=
...
|
|
The rationale of the code is explained in the header:
http://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=alsamixer/volume_mapping.c;h=1c0d7c45e6686239464e1b0bbc8983ea57f3914f;hb=HEAD
> The mapping is designed so that the position in the interval is
> proportional to the volume as a human ear would perceive it (i.e., the
> position is the cubic root of the linear sample multiplication
> factor).
and the commit message:
http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=34bb514b5fd1d6f91ba9a7b3a70b0ea0c6014250
> use a mapping where the bar height is proportional to the audible
> volume, i.e., where the amplitude is the cube of the bar height.
and further explanation can be found in the pull request:
https://github.com/i3/i3status/pull/268#pullrequestreview-147429763
|
|
|
|
|
|
|
|
switch to clang 3.8 & ignore include sort order
|