summaryrefslogtreecommitdiff
path: root/components/battery.c
AgeCommit message (Collapse)Author
2022-12-01battery: Fix remaining on LinuxPatrick Iacob
The current version displays the remaining time as 'n/a'. Fixes this regression introduced in 69b2487650782f135db76078c4a7fb841cb936ac where current_now and power_now were incorrectly replaced with current and power when they were moved to a macro.
2022-10-28radical re-formatting 2/3: Fix blocksdrkhsh
Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-28radical re-formatting 1/3: Fix spacingdrkhsh
Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-28battery: Refactor remaining on OpenBSDdrkhsh
Fixes up overly complicated line, by splitting up logic
2022-10-28various: Put paths into defines to avoid line wrapsdrkhsh
Long, wrapped, multi-line if statements suck to read. This fixes readability in the worst places by packing format strings for paths into defines.
2022-10-28radical re-formatting 0/3: Alphabetic headersdrkhsh
Except stated otherwise in comment. Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-27components/*.c: include slstatus.hNRK
this gives the compiler a chance to check weather the prototype and definiton matches or not, which would catch issues like 3c47701.
2022-10-27Add 'Not charging' status supportSpenser Truex
Exists on various ThinkPads. Seems to be both a synonym for "full". Tested on: - ThinkPad T500 (Spenser Truex <truex@equwal.com) - ThinkPad T420 (drkhsh <me@drkhsh.at)
2020-11-30Full battery indicatorCem Keylan
When you reach full charge the symbol would change to a question mark "?" as "Full" was not defined, now it changes to an "o" instead.
2019-02-05Add FreeBSD support for temperature and battery componentsMichael Buch
2018-07-08Consistency with 80 char limit and breaksAaron Marcher
2018-07-07Simplify format specifiers for uintmax_tAaron Marcher
2018-07-07Change uint64_t to uintmax_tAaron Marcher
2018-07-07battery: 64 bit ints on LinuxAaron Marcher
2018-07-06battery: Remove unnecessary defines for pathsAaron Marcher
2018-05-30Clean up header includesAaron Marcher
- Remove <errno.h> because related functions are in util.c now - Remove corresponding <string.h> if not used otherwise
2018-05-21battery_remaining: check for division by zeroAaron Marcher
2018-05-21battery_remaining: Change float to doubleAaron Marcher
2018-05-21battery: Minor coding style fixesAaron Marcher
- Line length - Spacing and indentation - No explicit checks for NULL
2018-05-21Remove units from numbersAaron Marcher
This is a first step to decouple formatting from information because of two reasons: 1. The components should only gather and return the values by design 2. Fine grained user control should be a focus Scaling will be implemented in a different way in a later commit.
2018-05-20Support energy_now/power_now in battery_remainingDavid Demelier
On some laptops (mostly thinkpads), the remaining time may be expressed in µWh using energy_now and power_now files rather than µAh for charge_now and current_now. Add pick function to conditionally select appropriate one.
2018-05-19Add the percent sign to *_perc functionsAaron Marcher
Units should be added to the corresponding numbers
2018-05-19Implement esnprintf() and make formatted calls more efficientLaslo Hunhold
Within the components, snprintf() was unchecked and had inefficient calls in some places. We implement esnprintf() that does all the dirty laundry for us and use it exclusively now.
2018-05-19Revert aac29e2 as it is nonsenseAaron Marcher
2018-05-19battery: Move out struct as common codeAaron Marcher
2018-05-18Use %d instead of accidentally %iAaron Marcher
2018-05-18Port battery_remaining to LinuxAaron Marcher
Additionally unify the format of battery_state and uptime
2018-05-18Fix memory leakAaron Marcher
2018-05-18battery: fixed remaining time on connected ACTobias Tschinkowitz
when an AC is connected apm_info shows a non-valid value for remaining minutes. it was decided that in that case the function should return an empty string.
2018-05-18Fix indentationAaron Marcher
Tabs for indentation, spaces for alignment
2018-05-18Add battery_remaining function on OpenBSDTobias Tschinkowitz
Implementation of a battery_remaining function which returns the remaining battery time in HH:MM format. Linux function still needs implementation. Move common code to load_apm_power_info
2018-05-18Add warn() and die()Laslo Hunhold
Given slstatus is a tool that runs in the background, most likely run from .xinitrc, it's important to prepend the name of the tool to error messages so it becomes clear where the error is coming from. To make this much more consistent, this commit adds warn() and die() utility functions consistent with other suckless projects and adapts all calls to fprintf(stderr, *) to the warn() and die() functions, greatly increasing the readability of the code.
2018-05-17Remove UNUSED macroAaron Marcher
Use variables named unused instead which is simpler
2018-05-17Mark unused parameters, fix compiler warningsAaron Marcher
2018-05-17Unify type of in for loopsAaron Marcher
2018-05-17Unify type of `i` in for loopsAaron Marcher
int for normal indexes size_t for usage with the LEN macro
2018-05-06Fix coding styleAaron Marcher
- Use block for single statement ifs - Keep lines to reasonable length (current debate as to reasonable) - When functions return -1 for error test against 0 not -1 - Do not indent cases another level - Do not test against NULL and 0 explicitly - Use tabs for indentation, use spaces for alignment
2018-05-04battery: Remove full indicatorAaron Marcher
It does not respect charging thresholds and it is not trivial to implement the indicator in OpenBSD.
2018-05-02battery_state: Unify unknown state with "?" symbolAaron Marcher
2018-05-01Remove battery_power for various reasonsAaron Marcher
- Battery power cannot be easily gatherable via apm(4) - IMHO it does not represent essential information
2018-05-01battery_perc: Port to OpenBSDAaron Marcher
2018-05-01Use indentation to increase readabilityLaslo Hunhold
Granted, this style is definitely not common, but for the short utility-functions of this program it's just the right choice. This provides great flexibility, such that in the long run, it will be possible to also share code between the OS-implementations. This also keeps the state-keeping at a minimum and makes it clearer which functions are implemented on which OS without having to jiggle around with too many files in the process.
2018-05-01Revert component-splitLaslo Hunhold
this reverts the commits from 92ab9ef52ebcb097add97d9f78e67ad1c1d6a6ec up to d42870d6ca7fb587b38f8cf6d6821ae33a53a696. After heavy consideration, the component split has more disadvantages than advantages, especially given there will be utility-functions sharing quite a lot of code that would then need to be duplicated, as it does not fit into the util.c due to its speciality. One big advantage of the component-wise build is readability, and without doubt, this was achieved here. This point will be addressed with a different approach that will be visible in the upcoming commits. One big disadvantage of the component build is the fact that it introduces state to the build process which is not necessary. Before its introduction, the only influencing factors where the system-defines __linux__ and __OpenBSD__. With the components, we are also relying on the output of uname(1). Additionally, if the os.mk is not present, make gives the output $ make Makefile:5: os.mk: No such file or directory make: *** No rule to make target 'os.mk'. Stop. This could easily be fixed by providing some sort of meta-rule for this file, however, it indicates the problem we have here, and this entire statefulness will heavily complicate packaging of this tool and makes the build process much more complex than it actually has to be.
2018-04-30battery: OS splitQuentin Rameau
2018-04-29battery: Separate function for readbilityAaron Marcher
2018-03-28Format error messages properlyAaron Marcher
Make use of strerror(errno) and format all errors equally: function ['parameters']: error message
2018-03-28Get rid of err.h as it is not portableAaron Marcher
Replace warn() and warnx() with fprintf() and add <stdio.h> where necessary.
2018-03-21More robust preprocessor switchesAaron Marcher
Replace #ifdef with #if defined() and #elif with #elif defined() as it should only test if it is defined or not.
2018-03-19battery_perc: Port to OpenBSD.Aaron Marcher
In OpenBSD battery percentage gets fetched using apm now.
2018-03-18Build Linux-only functions only on LinuxAaron Marcher