]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
merge battery applet from Sebastian Reichel
[chaz/tint2] / src / tint.c
index f54bebe6ee9c5d4e411dbfa4f664ed2cd3ea8c7d..afb83cba12bd01b297ec5882b9c2c022d92a0cc9 100644 (file)
@@ -86,13 +86,13 @@ 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 (battery_low_cmd) g_free(battery_low_cmd);
 
    if (server.monitor) free(server.monitor);
    XFreeGC(server.dsp, server.gc);
@@ -137,7 +137,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 +169,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 +467,19 @@ 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
+       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 +553,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 +563,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);
This page took 0.021441 seconds and 4 git commands to generate.