all repos — tint2 @ 8df91bd475b20d7f25bcb0251bfd163d72bba2c7

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

Battery: Only redraw when needed, not after each tick
o9000 mrovi9000@gmail.com
commit

8df91bd475b20d7f25bcb0251bfd163d72bba2c7

parent

5c474f42568f8f0c623c5e2714ce88e02487bd74

1 files changed, 17 insertions(+), 17 deletions(-)

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

@@ -81,8 +81,19 @@ else

tint_exec(ac_disconnected_cmd); } + if (battery_state.percentage < battery_low_status && battery_state.state == BATTERY_DISCHARGING && + !battery_low_cmd_sent) { + tint_exec(battery_low_cmd); + battery_low_cmd_sent = TRUE; + } + if (battery_state.percentage > battery_low_status && battery_state.state == BATTERY_CHARGING && + battery_low_cmd_sent) { + battery_low_cmd_sent = FALSE; + } + int i; for (i = 0; i < num_panels; i++) { + // Show/hide if needed if (!battery_found) { if (panels[i].battery.area.on_screen) { hide(&panels[i].battery.area);

@@ -101,25 +112,14 @@ panel_refresh = TRUE;

} } } + // Redraw if needed if (panels[i].battery.area.on_screen) { - panels[i].battery.area.resize_needed = 1; - panel_refresh = TRUE; + if (old_found != battery_found || old_percentage != battery_state.percentage || + old_hours != battery_state.time.hours || old_minutes != battery_state.time.minutes) { + panels[i].battery.area.resize_needed = TRUE; + panel_refresh = TRUE; + } } - } - - if (old_found == battery_found && old_percentage == battery_state.percentage && - old_hours == battery_state.time.hours && old_minutes == battery_state.time.minutes) { - return; - } - - if (battery_state.percentage < battery_low_status && battery_state.state == BATTERY_DISCHARGING && - !battery_low_cmd_sent) { - tint_exec(battery_low_cmd); - battery_low_cmd_sent = 1; - } - if (battery_state.percentage > battery_low_status && battery_state.state == BATTERY_CHARGING && - battery_low_cmd_sent) { - battery_low_cmd_sent = 0; } }