Age | Commit message (Collapse) | Author |
|
Closes #421
|
|
* Add support for batteries outputting Time to empty on linux
The battery in the pinebook pro does not output the remaining charge
in Wh or mAh, so i3 cannot calculate the time remaining. However, it
does directly output the number of minutes remaining on in
POWER_SUPPLY_TIME_TO_EMPTY. This adds support for reading this field
and converting it to seconds_remaining.
* Add testcase for POWER_SUPPLY_TIME_TO_EMTY_NOW
|
|
This generates much friendlier names on all my systems, e.g.
"HDMI / DisplayPort 5" rather than
"Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] Digital Stereo (HDMI 5)"
|
|
|
|
Fixes #362
|
|
Resolve tilde
|
|
Fixes #350
|
|
|
|
New matrix for 5 jobs in total.
Updates our checks to bionic & xenial. Trusty could also be
included but it is a bit outdated at this point.
I use bionic to pull a more recent clang-format and use a dedicated job
just to check formatting. An alternative would be to conditionally run
the formatting script only on bionic.
I don't think that there is a better way to expand a `dist` x `compiler`
matrix (except using docker).
|
|
Format placeholder volume
|
|
- unused variable ‘walk’ [-Wunused-variable]
- implicit declaration of built-in function ‘free’
[-Wimplicit-function-declaration]
- initialization discards ‘const’ qualifier from pointer target type
[-Wdiscarded-qualifiers]
- variable 'ram_used' is used uninitialized whenever 'if' condition is
false [-Wsometimes-uninitialized]. This is actually easily reproducible
by specifying `memory_used_method = "XXX"`.
- comparison of integers of different signs: 'int' and 'unsigned long'
[-Wsign-compare] (for `exponent`)
|
|
mend
|
|
|
|
|
|
* use statvfs f_frsize for file system block size
|
|
use format_placeholder for wireless_info
|
|
|
|
use format_placeholder for file_content
|
|
|
|
|
|
use format_placeholder for time
|
|
use format_placeholder for run_watch
|
|
use format_placeholder for path_exists
|
|
|
|
|
|
|
|
|
|
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>
|