diff options
Diffstat (limited to 'wmiistatus.c')
-rw-r--r-- | wmiistatus.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/wmiistatus.c b/wmiistatus.c index cba4d8b..e1b8097 100644 --- a/wmiistatus.c +++ b/wmiistatus.c @@ -307,7 +307,10 @@ static char *get_battery_info() { last = walk+1; (void)close(fd); - if ((full_design != -1) && (remaining != -1) && (present_rate > 0)) { + if ((full_design != 1) && (remaining != -1)) + return part; + + if (present_rate > 0) { float remaining_time; int seconds, hours, minutes; if (status == CS_CHARGING) @@ -327,6 +330,11 @@ static char *get_battery_info() { (status == CS_DISCHARGING ? "BAT" : "FULL")), (((float)remaining / (float)full_design) * 100), hours, minutes, seconds); + } else { + (void)snprintf(part, sizeof(part), "%s %.02f%%", + (status == CS_CHARGING ? "CHR" : + (status == CS_DISCHARGING ? "BAT" : "FULL")), + (((float)remaining / (float)full_design) * 100)); } return part; } |