revert r78, fixed issue 100
git-svn-id: http://tint2.googlecode.com/svn/trunk@114 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
e6c9996ba0
commit
81930a6861
3 changed files with 13 additions and 26 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
2009-06-14
|
||||||
|
- revert r78, fixed issue 100
|
||||||
|
|
||||||
2009-06-13
|
2009-06-13
|
||||||
- fixed background refresh on systray
|
- fixed background refresh on systray
|
||||||
|
|
||||||
|
|
|
@ -105,17 +105,16 @@ void draw_systray(void *obj, cairo_t *c, int active)
|
||||||
traywin = (TrayWindow*)l->data;
|
traywin = (TrayWindow*)l->data;
|
||||||
|
|
||||||
// watch for the icon trying to resize itself!
|
// watch for the icon trying to resize itself!
|
||||||
XSelectInput(server.dsp, traywin->id, StructureNotifyMask|ResizeRedirectMask);
|
//XSelectInput(server.dsp, traywin->id, StructureNotifyMask|ResizeRedirectMask);
|
||||||
|
XSelectInput(server.dsp, traywin->id, StructureNotifyMask);
|
||||||
|
|
||||||
// position and size the icon window
|
// position and size the icon window
|
||||||
XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, icon_size, icon_size);
|
XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, icon_size, icon_size);
|
||||||
|
//printf("icon %d, %d, %d\n", traywin->x, traywin->y, icon_size);
|
||||||
// ceci intervertie les fonds : le premier icone prend le fond du dernier
|
// ceci intervertie les fonds : le premier icone prend le fond du dernier
|
||||||
// le dernier prend le fond de l'avant dernier, ...
|
// le dernier prend le fond de l'avant dernier, ...
|
||||||
XSetWindowBackgroundPixmap (server.dsp, panel->main_win, systray.area.pix.pmap);
|
XSetWindowBackgroundPixmap (server.dsp, panel->main_win, systray.area.pix.pmap);
|
||||||
|
|
||||||
// resize our window so that the new window can fit in it
|
|
||||||
//fix_geometry();
|
|
||||||
|
|
||||||
// flush before clearing, otherwise the clear isn't effective.
|
// flush before clearing, otherwise the clear isn't effective.
|
||||||
XFlush(server.dsp);
|
XFlush(server.dsp);
|
||||||
// make sure the new child will get the right stuff in its background
|
// make sure the new child will get the right stuff in its background
|
||||||
|
@ -158,6 +157,8 @@ void resize_systray(void *obj)
|
||||||
|
|
||||||
traywin->y = posy;
|
traywin->y = posy;
|
||||||
traywin->x = posx;
|
traywin->x = posx;
|
||||||
|
traywin->width = icon_size;
|
||||||
|
traywin->height = icon_size;
|
||||||
posx += (icon_size + systray.area.paddingx);
|
posx += (icon_size + systray.area.paddingx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,7 +261,7 @@ int window_error_handler(Display *d, XErrorEvent *e)
|
||||||
if (e->error_code == BadWindow) {
|
if (e->error_code == BadWindow) {
|
||||||
error = TRUE;
|
error = TRUE;
|
||||||
} else {
|
} else {
|
||||||
//g_printerr("X ERROR NOT BAD WINDOW!\n");
|
printf("error_handler %d\n", e->error_code);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
25
src/tint.c
25
src/tint.c
|
@ -457,25 +457,6 @@ void event_expose (XEvent *e)
|
||||||
if (!panel) return;
|
if (!panel) return;
|
||||||
// TODO : one panel_refresh per panel ?
|
// TODO : one panel_refresh per panel ?
|
||||||
panel_refresh = 1;
|
panel_refresh = 1;
|
||||||
/*
|
|
||||||
if (systray.area.on_screen) {
|
|
||||||
// force trayer refresh
|
|
||||||
//XClearWindow(tray_data.dpy, ti->mid_parent);
|
|
||||||
//x11_send_visibility(tray_data.dpy, dst, VisibilityFullyObscured);
|
|
||||||
//x11_send_visibility(tray_data.dpy, dst, VisibilityUnobscured);
|
|
||||||
|
|
||||||
GSList *l;
|
|
||||||
TrayWindow *traywin;
|
|
||||||
for (l = systray.list_icons; l ; l = l->next) {
|
|
||||||
traywin = (TrayWindow*)l->data;
|
|
||||||
// send Expose event
|
|
||||||
XClearArea(server.dsp, traywin->id, 0, 0, systray.area.width, systray.area.height, True);
|
|
||||||
//printf("expose %lx\n", traywin->id);
|
|
||||||
}
|
|
||||||
|
|
||||||
//x11_refresh_window(tray_data.dpy, ti->wid, ti->l.wnd_sz.x, ti->l.wnd_sz.y, True);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -487,8 +468,10 @@ void event_configure_notify (Window win)
|
||||||
for (l = systray.list_icons; l ; l = l->next) {
|
for (l = systray.list_icons; l ; l = l->next) {
|
||||||
traywin = (TrayWindow*)l->data;
|
traywin = (TrayWindow*)l->data;
|
||||||
if (traywin->id == win) {
|
if (traywin->id == win) {
|
||||||
XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, traywin->width, traywin->height);
|
//printf("move tray %d\n", traywin->x);
|
||||||
return;
|
XMoveResizeWindow(server.dsp, traywin->id, traywin->x, traywin->y, traywin->width, traywin->height);
|
||||||
|
panel_refresh = 1;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue