]> Dogcows Code - chaz/tint2/blobdiff - src/systray/systraybar.c
merge autotool bis
[chaz/tint2] / src / systray / systraybar.c
index 160cbca17cb26946f905d521a19f079e526458f0..4b1ac2033080fd85c2ab0a0f3143dbf7d5fcb9d7 100644 (file)
@@ -66,6 +66,8 @@ void init_systray()
        systray.area.posx = panel->area.width - panel->area.paddingxlr - panel->area.pix.border.width - systray.area.width;
        if (panel->clock.area.on_screen)
                systray.area.posx -= (panel->clock.area.width + panel->area.paddingx);
+       if (panel->battery.area.on_screen)
+               systray.area.posx -= (panel->battery.area.width + panel->area.paddingx);
 
        systray.area.redraw = 1;
 }
@@ -97,16 +99,19 @@ void draw_systray(void *obj, cairo_t *c, int active)
        GSList *l;
        int icon_size;
 
-       printf("draw_systray %d %d\n", systray.area.posx, systray.area.width);
+       //printf("draw_systray %d %d\n", systray.area.posx, systray.area.width);
        icon_size = sysbar->area.height - (2 * sysbar->area.pix.border.width) - (2 * sysbar->area.paddingy);
        for (l = systray.list_icons; l ; l = l->next) {
                traywin = (TrayWindow*)l->data;
 
                // watch for the icon trying to resize itself!
-               XSelectInput(server.dsp, traywin->id, StructureNotifyMask);
+               XSelectInput(server.dsp, traywin->id, StructureNotifyMask|ResizeRedirectMask);
 
                // position and size the icon window
                XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, icon_size, icon_size);
+               // ceci intervertie les fonds : le premier icone prend le fond du dernier
+               // le dernier prend le fond de l'avant dernier, ...
+               XSetWindowBackgroundPixmap (server.dsp, panel->main_win, systray.area.pix.pmap);
 
                // resize our window so that the new window can fit in it
                //fix_geometry();
@@ -141,6 +146,8 @@ void resize_systray(void *obj)
        systray.area.posx = panel->area.width - panel->area.pix.border.width - panel->area.paddingxlr - systray.area.width;
        if (panel->clock.area.on_screen)
                systray.area.posx -= (panel->clock.area.width + panel->area.paddingx);
+       if (panel->battery.area.on_screen)
+               systray.area.posx -= (panel->battery.area.width + panel->area.paddingx);
 
        systray.area.redraw = 1;
 
This page took 0.021218 seconds and 4 git commands to generate.