Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
switch to clang 3.8 & ignore include sort order
|
|
Detect interface type on DragonFly BSD
|
|
|
|
|
|
|
|
its now possible to have percentage before and after a variable. except
for the date. But percentage with dates does not make much sense to me, so
i skipped it.
|
|
Read multiple batteries on DragonFly BSD.
|
|
add format_quality option in wireless
|
|
|
|
Since the following commit in the Linux kernel tree
0fdc100bdc4b ethtool: allow non-netadmin to query settings
it is no longer necessary to have the CAP_NET_ADMIN capability to query
a device speed using ioctl(..., SIOCETHTOOL) in conjonction with the
ETHTOOL_GSET ethtool command.
The mentioned commit landed first in the 2.6.37 version of the Kernel.
This version is no longer maintained nowdays.
Since it is not necessary anymore, it is strongly prefered from a
security standpoint to drop the CAP_NET_ADMIN capability from the
binary.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Calling globfree(NULL) is undefined behaviour. In Linux (glibc), it
results in a segmentation fault.
It is also undefined behaviour to call globfree(&pglob) if a previous
call to glob(&pglob) returned an error.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
The function slurp_all_batteries(), on Linux, allocates memory
dynamically
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
The manual of glob(3) says that the function returns 0 on successful
completion. Any other integer value should be considered an error, not
only negative integers.
In practice, *BSD systems use negative values but Linux uses positive
integers.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Compiling on Linux with -Wundef produces the following warning:
warning: "__OpenBSD__" is not defined, evaluates to 0 [-Wundef]
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Before the following change
f947d0a Breaks configfiles! Major refactoring of i3status, see below
The die(fmt, ...) function was outputting the reason to the status bar
in addition to stderr. For this reason, it was meaningful to create a
temporary string according to the format string and then passing it
around to the different functions.
Nowadays, we only display the error message to stderr so calling
fprintf(stderr, ...) is much simpler.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
The following commit:
6a75ea9 Show IP address when address has a label
introduced a way to show the IP address of an interface when a label is
associated to the IP.
When a label is associated to an IP, the structure returned by
getifaddrs() has the label concatenated to the interface name in the
.ifa_name field as in the following example:
struct ifaddrs ifaddr = {
.ifa_name = "eth0:mylabel",
};
As a consequence, using a strict comparison between the interface name
and the .ifa_name field yields a falsy result. However, checking if the
.ifa_name starts with the interface name (e.g. eth0) does not work
either because other network interfaces can have a name which starts
with eth0.
This commit solves the issue by stripping out the optional label from
the .ifa_name field before making a strict comparison with the interface
name.
Fix #283
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
|
|
initial support of memory-usage for linux
|
|
|
|
|
|
|
|
|
|
Fix NULL value on OpenBSD when there is no acpitz0
|
|
Using %degrees on OpenBSD resulted in garbage values if sysctl doesn't
know about any cpu temperature sensors.
|
|
If an address has been added with a label, ensure the correct address is
shown.
|
|
Using ACPI to read individual battery information instead of just
accumulations from sysctl.
|
|
|
|
Remove overly aggressive #error
|
|
On some hardware the AUDIO_MIXER_READ ioctl requires the current number
of channels to be set, and the mute device found needs to be checked if
it belongs to the master output device.
|
|
|
|
`print_battery_info` computes `batt_info.percentage_remaining` by
dividing batt_info.remaining by `full`. If `full` is `0` then the
battery remaining will be reported as "inf".
Before this, it tries to set `full` to either the design capacity or to
the last known good charge. It determines if these values are available
by checking whether their fields in `batt_info` are non-negative. As it
initialized `batt_info` with values of `-1`, a non-negative value
implies that something has provided a value.
`slurp_all_batteries` and `add_battery_info` however initialize these
fields to zero, so if these functions are called then
`batt_info.full_design` will always be used.
This means that on systems that don't provide a value for design
capacity the percentage remaining will be reported as "inf", unless the
user has set `last_full_capacity` to `true` in their `i3status.conf`.
This patch changes `print_battery_info` to expect values for the battery
capacity to be strictly greater than zero. This seems reasonable as a
battery with a capacity of zero isn't useful.
An alternative solution would be to change `slurp_all_batteries` and
`add_battery_info` to initialize `batt_info` with `-1`, as
`print_battery_info` does. This is less appealing as `add_battery_info`
is accumulating the values, so using `-1` would introduce off-by-one
errors without additional code to avoid them.
|
|
|
|
|
|
|
|
Change-Id: I8c20606d386d713cac51b620d1fcdb479a3622fe
|
|
|
|
|
|
Add check for virtual ethernet devices
|
|
The Linux power supply class defines three entries to provide battery status.
One of them wasn't used: POWER_SUPPLY_CAPACITY.
https://www.kernel.org/doc/Documentation/power/power_supply_class.txt
|
|
Added braces to the if-statement as requested.
|
|
The orignal proposed code had a memory leak when returning true.
Furthermore I included the handy BEGINS_WITH macro of i3 which makes the
code (IMHO) a lot more readable.
|
|
The _first_ option for ethernet devices now uses the link in sysfs to determine
if it's a real device or just a virtual one (i.e veth** devices created by docker).
|
|
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.
|
|
|
|
remove useless checks (we use char, not unsigned char)
|