sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 0bea6841ebe1b1b006e37c9518bb897bd1a85cbd
parent a1a993210f33efedd0fed1d97dfd3af3bfac5283
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat,  8 Oct 2011 14:42:58 +0200

And here is the references C file for battery ACPI.
Diffstat:
Adwm.suckless.org/dwmstatus/new-acpi-battery.c | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/dwmstatus/new-acpi-battery.c b/dwm.suckless.org/dwmstatus/new-acpi-battery.c @@ -0,0 +1,55 @@ +char * +readfile(char *base, char *file) +{ + char *path, line[513]; + FILE *fd; + + memset(line, 0, sizeof(line)); + + path = smprintf("%s/%s", base, file); + fd = fopen(path, "r"); + if (fd == NULL) { + perror("fopen"); + exit(1); + } + free(path); + + if (fgets(line, sizeof(line)-1, fd) == NULL) { + perror("fgets"); + exit(1); + } + fclose(fd); + + return smprintf("%s", line); +} + +char * +getbattery(char *base) +{ + char *co; + int descap, remcap; + + descap = -1; + remcap = -1; + + co = readfile(base, "present"); + if (co[0] != '1') { + free(co); + return smprintf("not present"); + } + free(co); + + co = readfile(base, "charge_full_design"); + sscanf(co, "%d", &descap); + free(co); + + co = readfile(base, "charge_now"); + sscanf(co, "%d", &remcap); + free(co); + + if (remcap < 0 || descap < 0) + return smprintf("invalid"); + + return smprintf("%.0f", ((float)remcap / (float)descap) * 100); +} +