X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fsystray%2Fsystraybar.c;h=4b1ac2033080fd85c2ab0a0f3143dbf7d5fcb9d7;hb=ef9c33a6a77e304bceaa00b146869bf3747aaa57;hp=160cbca17cb26946f905d521a19f079e526458f0;hpb=565d032023e504460e639606930482e0f7c6c6d9;p=chaz%2Ftint2 diff --git a/src/systray/systraybar.c b/src/systray/systraybar.c index 160cbca..4b1ac20 100644 --- a/src/systray/systraybar.c +++ b/src/systray/systraybar.c @@ -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;