summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-01-28Treat zero battery capacity as "not available" (#259)johcgt
`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.
2017-12-11Update comment as in #247 (#254)Emeric Planet
2017-12-11Add IPv6 address when IPv4 isn't available (#247)Emeric Planet
2017-12-09Call tzset at each time printeplanet
2017-09-04Remove overly aggressive #errorJasper Lievisse Adriaanse
Change-Id: I8c20606d386d713cac51b620d1fcdb479a3622fe
2017-08-24Be more cautious about handling invalid battery measurements.kousu
2017-08-19Use local timezone for battery %emptytime (#236)Emeric Planet
2017-04-16Merge pull request #219 from flammi/masterIngo Bürk
Add check for virtual ethernet devices
2017-04-13Add battery capacity parsing (#216)Emeric Planet
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
2017-04-13Added bracesFabian Franzen
Added braces to the if-statement as requested.
2017-04-12Fix memory leak/Use BEGINS_WITH macroFabian Franzen
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.
2017-04-12Add check for virtual ethernet devicesFabian Franzen
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).
2017-03-26Multiple CPU support for cpu_usage (#209)eplanet
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.
2017-03-10disk: don't remove trailing slash if path is a single characterKenneth Lyons
2017-03-08Merge pull request #208 from stapelberg/warningIngo Bürk
remove useless checks (we use char, not unsigned char)
2017-03-08remove useless checks (we use char, not unsigned char)Michael Stapelberg
fixes compilation warnings
2017-03-08disk: sanitize trailing slashesMichael Stapelberg
fixes #200
2017-02-07Merge pull request #202 from jasperla/openbsd_fdleakIngo Bürk
Plug an fd leak in the OpenBSD-specific code for _first_
2017-02-07Plug an fd leak in the OpenBSD-specific code for _first_Jasper Lievisse Adriaanse
2017-02-07Suppress printing :00 seconds of remaining battery lifetime, as apm(4)'sJasper Lievisse Adriaanse
estimate only has a granularity of minutes. From tb@openbsd.org
2017-02-01Fix the deciKelvin to Celsius conversion on FreeBSD (#195)Baptiste Daroussin
Change from ceiled value to floored value to be consistent with the FreeBSD kernel https://svnweb.freebsd.org/base?view=revision&revision=300421
2017-01-31Make first_eth_interface() work on OpenBSD: (#197)Jasper Lievisse Adriaanse
- use a define for loopback interface device - use an approach similar to ifconfig(8) for determining device type
2017-01-31Include sys/select.h on OpenBSD (#198)Jasper Lievisse Adriaanse
Fixes a compilation error: /usr/include/net80211/ieee80211_ioctl.h:339: warning: implicit declaration of function 'howmany' /usr/include/net80211/ieee80211_ioctl.h:339: error: 'NBBY' undeclared here (not in a function) /usr/include/net80211/ieee80211_ioctl.h:339: error: variably modified 'nr_rxmcs' at file scope
2016-11-15Add 'format_below_threshold' option for 'disk' moduleMihai Coman
Add 'format_above_threshold' option for 'cpu_temperature' module Add 'format_above_threshold' option for 'cpu_usage' module Add 'format_above_threshold' option for 'load' module
2016-11-12Use blank padding for wireless quality (#166) (#167)Jon Bernard
2016-10-24Setting of custom locale in tztime configuration. (#168)Björn Lindström
To be able to show my birth country's time zone in that country's locale, and my local time in my current locale.
2016-10-23Detect batteries using glob (#163)Stu Zhao
2016-09-14pulse device may be specified by name (#126) (#162)Watcom
2016-08-28Implement aggregates for batteries.Tommie Gannert
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.
2016-08-22Match trailing equal sign in slurp_battery_info.Tommie Gannert
Should make it more resilient to future ambiguities in uevent.
2016-08-22Parse uevent file to detect network device type (#153)Cihangir Akturk
Currently i3status differentiates wireless and wired devices based on the existence of wireless directory inside the device's sysfs directory. This approach seems to cause 3g modems to be incorrectly identified as the first ethernet device. This commit solves this problem by using DEVTYPE variable from uevent file. Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
2016-08-22print_wireless_info: fix FTBFS on hurd and kfreebsdMichael Stapelberg
Patch by Axel Beckert.
2016-08-21Added missing ampere to watt conversion for last full capacity. (#158)tnnn
Signed-off-by: Tomasz Nitecki <tnnn@tnnn.pl>
2016-08-16Print empty string for not mounted disks. (#148)eplanet
An empty string becomes the default value for format_not_mounted parameter for any disk entry. This avoids printing erroneous values when a filesystem is not mounted.
2016-08-14Move time and ratio computations out of slurp_battery_info. (#151)tommie
This allows OSes that support reporting multiple batteries to simply sum into full_design,full_last,remaining and let print_battery_info make computations.
2016-08-14Move full_design and full_last into struct battery_info.Tommie Gannert
This is in preparation for moving the ratio computation code out of slurp_battery_info to support aggregating multiple batteries.
2016-08-14Also capture charge rate in NetBSD.Tommie Gannert
For time estimates when charging.
2016-08-14Fix warnings about using a char array index on NetBSD.Tommie Gannert
The isspace macro is just a table lookup.
2016-08-14Simplify string comparisons in slurp_battery_info for NetBSD.Tommie Gannert
Doing strlen(a) == strlen(b) && strncmp(a, b, N) seems to have no benefits compared to just strcmp(a, b). The NetBSD cstring properties come from the kernel, not the user. The test for units did a prefix match, but that looked like a bug, the unit is "Watt hour" in my Virtual box.
2016-08-14Make print_disk_info, print_eth_info and print_wireless_info compile on ↵Tommie Gannert
NetBSD without warnings.
2016-08-14Remove warnings about unused variables in slurp_battery_info on OpenBSD.Tommie Gannert
2016-08-14Define IW_ESSID_MAX_SIZE for OpenBSD.Tommie Gannert
Also fixes a signedness warning.
2016-08-03Move OS-specific code to slurp_battery_info.Tommie Gannert
2016-08-03Introduce a struct battery_info to carry information from data retrieval to ↵Tommie Gannert
the output formatter.
2016-08-03Refactor common seconds_remaining code in print_battery_info.Tommie Gannert
2016-08-03Remove an END_COLOR in print_battery_info for OpenBSD.Tommie Gannert
This was probably a bug since it makes no sense to have here.
2016-08-03Move START_COLOR to after OS-specific code.Tommie Gannert
This uses the more direct tests of whether percentage_remaining and seconds_remaining are available or not (rather than looking at present_rate).
2016-08-03Remove consumptionbuf from print_battery_info.Tommie Gannert
2016-08-03Remove emptytimebuf from print_battery_info.Tommie Gannert
This changes the behavior for NetBSD: previously this time was not shown while charging. On Linux it was treated as "full time". This change makes all OSes behave the same. OpenBSD and FreeBSD did not support emptytime previously.
2016-08-03Remove remainingbuf from print_battery_info.Tommie Gannert