int8_t battery_low_status;
char *battery_low_cmd=0;
+unsigned char battery_low_cmd_send=0;
char *path_energy_now=0;
char *path_energy_full=0;
char *path_current_now=0;
if(energy_full > 0)
new_percentage = (energy_now*100)/energy_full;
- if(battery_low_status != 0 && battery_low_status == new_percentage && battery_state.percentage > new_percentage) {
- //printf("battery low, executing: %s\n", battery_low_cmd);
- if (battery_low_cmd) system(battery_low_cmd);
+ if(battery_low_status > new_percentage && battery_state.state == BATTERY_DISCHARGING && !battery_low_cmd_send) {
+ printf("battery low, executing: %s\n", battery_low_cmd);
+ if (battery_low_cmd)
+ system(battery_low_cmd);
+ battery_low_cmd_send = 1;
}
+ if(battery_low_status < new_percentage && battery_state.state == BATTERY_CHARGING && battery_low_cmd_send) {
+ battery_low_cmd_send = 0;
+ }
battery_state.percentage = new_percentage;
void tooltip_show()
{
- Area* area = click_area(g_tooltip.panel, x, y);
+ int mx, my;
+ Window w;
+ XTranslateCoordinates( server.dsp, server.root_win, g_tooltip.panel->main_win, x, y, &mx, &my, &w);
+ Area* area = click_area(g_tooltip.panel, mx, my);
stop_timeouts();
if (!g_tooltip.mapped && area->_get_tooltip_text) {
tooltip_copy_text(area);