X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Ftint.c;h=28366cc9a57515c69ae30a9338f2e213dac302bb;hb=851aebb17710a7c87163c09d9e1b2ea04458fcac;hp=f54bebe6ee9c5d4e411dbfa4f664ed2cd3ea8c7d;hpb=a1783c29169a83f9359106678c26fdc28815ccde;p=chaz%2Ftint2 diff --git a/src/tint.c b/src/tint.c index f54bebe..28366cc 100644 --- a/src/tint.c +++ b/src/tint.c @@ -86,13 +86,19 @@ void init () void cleanup() { - cleanup_systray(); cleanup_panel(); if (time1_font_desc) pango_font_description_free(time1_font_desc); 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 (server.monitor) free(server.monitor); XFreeGC(server.dsp, server.gc); @@ -137,7 +143,7 @@ void event_button_press (XEvent *e) GSList *l0; Taskbar *tskbar; int x = e->xbutton.x; - int y = e->xbutton.y; + //int y = e->xbutton.y; // unused for (l0 = panel->area.list; l0 ; l0 = l0->next) { tskbar = l0->data; if (!tskbar->area.on_screen) continue; @@ -169,7 +175,7 @@ void event_button_release (XEvent *e) int action = TOGGLE_ICONIFY; int x = e->xbutton.x; - int y = e->xbutton.y; + //int y = e->xbutton.y; // unused switch (e->xbutton.button) { case 2: action = mouse_middle; @@ -467,15 +473,20 @@ void event_timer() if (abs(stv.tv_sec - time_clock.tv_sec) < time_precision) return; - // update clock - time_clock.tv_sec = stv.tv_sec; - time_clock.tv_sec -= time_clock.tv_sec % time_precision; + // update battery + if (panel1[0].battery.area.on_screen) + update_battery(&battery_state); + + // update clock + time_clock.tv_sec = stv.tv_sec; + time_clock.tv_sec -= time_clock.tv_sec % time_precision; int i; for (i=0 ; i < nb_panel ; i++) { panel1[i].clock.area.resize = 1; + panel1[i].battery.area.resize = 1; } - panel_refresh = 1; + panel_refresh = 1; } @@ -549,6 +560,7 @@ load_config: case UnmapNotify: case DestroyNotify: + if (!systray.area.on_screen) break; for (it = systray.list_icons; it; it = g_slist_next(it)) { if (((TrayWindow*)it->data)->id == e.xany.window) { remove_icon((TrayWindow*)it->data); @@ -558,6 +570,7 @@ load_config: break; case ClientMessage: + if (!systray.area.on_screen) break; //printf("ClientMessage\n"); if (e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) { net_message(&e.xclient);