all repos — tint2 @ cd33e5b274c7912a38798c3366183fe5ad4a8fd5

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

Battery: better Unknown state handling
o9000 mrovi9000@gmail.com
commit

cd33e5b274c7912a38798c3366183fe5ad4a8fd5

parent

201ea843a04769d53ea6c36eb52cf6eaf970a523

2 files changed, 13 insertions(+), 3 deletions(-)

jump to
M src/battery/battery.csrc/battery/battery.c

@@ -176,7 +176,7 @@ (battery_state.state == BATTERY_CHARGING)

? "Charging" : (battery_state.state == BATTERY_DISCHARGING) ? "Discharging" - : (battery_state.state == BATTERY_FULL || battery_state.percentage >= 100) + : (battery_state.state == BATTERY_FULL) ? "Full" : "Unknown", BATTERY_BUF_SIZE);

@@ -194,8 +194,7 @@ snprintf(buf, sizeof(buf), "%d%%", battery_state.percentage);

strnappend(dest, buf, BATTERY_BUF_SIZE); break; case 't': - if (battery_state.state == BATTERY_FULL || - (battery_state.state == BATTERY_UNKNOWN && battery_state.percentage >= 100)) { + if (battery_state.state == BATTERY_FULL) { snprintf(buf, sizeof(buf), "Full"); strnappend(dest, buf, BATTERY_BUF_SIZE); } else {
M src/battery/linux.csrc/battery/linux.c

@@ -446,6 +446,17 @@

/* AC state */ state->ac_connected = ac_connected; + if (state->state == BATTERY_UNKNOWN) { + if (ac_connected) { + if (total_rate_now == 0 && state->percentage >= 90) + state->state = BATTERY_FULL; + else + state->state = BATTERY_CHARGING; + } else { + state->state = BATTERY_DISCHARGING; + } + } + return 0; }