slstatus

My fork of https://tools.suckless.org/slstatus/
git clone https://git.inz.fi/slstatus
Log | Files | Refs | README | LICENSE

commit 2d1bbf0d35f096803a96afbc8ae89a057e646d9f
parent 60df4f0f05e261d2787b9512cea262248ebaf166
Author: Aaron Marcher <info@nulltime.net>
Date:   Tue, 13 Sep 2016 20:54:45 +0200

simplified battery_perc() a lot and removed useless options from config.def.h

Diffstat:
Mconfig.def.h | 5-----
Mslstatus.c | 30++++++++++++++++--------------
2 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/config.def.h b/config.def.h @@ -3,11 +3,6 @@ /* alsa sound */ #define ALSA_CHANNEL "Master" -/* battery */ -#define BATTERY_PATH "/sys/class/power_supply/" -#define BATTERY_NOW "energy_now" -#define BATTERY_FULL "energy_full_design" - /* how often to update the statusbar (min value == 1) */ #define UPDATE_INTERVAL 1 diff --git a/slstatus.c b/slstatus.c @@ -98,34 +98,36 @@ smprintf(const char *fmt, ...) static char * battery_perc(const char *battery) { - int now, full, perc; + int now, full; FILE *fp; - ccat(4, BATTERY_PATH, battery, "/", BATTERY_NOW); - + ccat(3, "/sys/class/power_supply/", battery, "/energy_now"); fp = fopen(concat, "r"); if (fp == NULL) { - warn("Error opening battery file: %s", concat); - return smprintf(UNKNOWN_STR); + ccat(4, "/sys/class/power_supply/", battery, "/charge_now"); + fp = fopen(concat, "r"); + if (fp == NULL) { + warn("Error opening battery file: %s", concat); + return smprintf(UNKNOWN_STR); + } } - fscanf(fp, "%i", &now); fclose(fp); - ccat(4, BATTERY_PATH, battery, "/", BATTERY_FULL); - + ccat(3, "/sys/class/power_supply/", battery, "/energy_full"); fp = fopen(concat, "r"); if (fp == NULL) { - warn("Error opening battery file: %s", concat); - return smprintf(UNKNOWN_STR); + ccat(4, "/sys/class/power_supply/", battery, "/charge_full"); + fp = fopen(concat, "r"); + if (fp == NULL) { + warn("Error opening battery file: %s", concat); + return smprintf(UNKNOWN_STR); + } } - fscanf(fp, "%i", &full); fclose(fp); - perc = now / (full / 100); - - return smprintf("%d%%", perc); + return smprintf("%d%%", now / (full / 100)); } static char *