X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftint.c;h=cfe0c70bd0df50fd38c76226b021df411eb64b44;hb=5679142e44a103a6fe1e62365fe991d273e41049;hp=afb83cba12bd01b297ec5882b9c2c022d92a0cc9;hpb=3b8e1d7fae07407b54d7ec5f61a64420a4993234;p=chaz%2Ftint2 diff --git a/src/tint.c b/src/tint.c index afb83cb..cfe0c70 100644 --- a/src/tint.c +++ b/src/tint.c @@ -92,7 +92,15 @@ void cleanup() if (time2_font_desc) pango_font_description_free(time2_font_desc); if (time1_format) g_free(time1_format); if (time2_format) g_free(time2_format); + if (bat1_font_desc) pango_font_description_free(bat1_font_desc); + if (bat2_font_desc) pango_font_description_free(bat2_font_desc); if (battery_low_cmd) g_free(battery_low_cmd); + if (path_energy_now) g_free(path_energy_now); + if (path_energy_full) g_free(path_energy_full); + if (path_current_now) g_free(path_current_now); + if (path_status) g_free(path_status); + if (clock_lclick_command) g_free(clock_lclick_command); + if (clock_rclick_command) g_free(clock_rclick_command); if (server.monitor) free(server.monitor); XFreeGC(server.dsp, server.gc); @@ -188,12 +196,17 @@ void event_button_release (XEvent *e) // search taskbar Taskbar *tskbar; GSList *l0; - for (l0 = panel->area.list; l0 ; l0 = l0->next) { - tskbar = l0->data; - if (!tskbar->area.on_screen) continue; - if (x >= tskbar->area.posx && x <= (tskbar->area.posx + tskbar->area.width)) - goto suite; - } + Clock clk = panel->clock; + if (clk.area.on_screen && x >= clk.area.posx && x <= (clk.area.posx + clk.area.width)) + clock_action(e->xbutton.button); + else { + for (l0 = panel->area.list; l0 ; l0 = l0->next) { + tskbar = l0->data; + if (!tskbar->area.on_screen) continue; + if (x >= tskbar->area.posx && x <= (tskbar->area.posx + tskbar->area.width)) + goto suite; + } + } // TODO: check better solution to keep window below XLowerWindow (server.dsp, panel->main_win); @@ -468,7 +481,8 @@ void event_timer() if (abs(stv.tv_sec - time_clock.tv_sec) < time_precision) return; // update battery - update_battery(&battery_state); + if (panel1[0].battery.area.on_screen) + update_battery(&battery_state); // update clock time_clock.tv_sec = stv.tv_sec;