bugfix of transient handling

master
Anselm R. Garbe 2007-02-19 15:57:08 +01:00
parent e9c49ddd7a
commit df9fd28f9a
1 changed files with 8 additions and 8 deletions

View File

@ -240,24 +240,24 @@ manage(Window w, XWindowAttributes *wa) {
c->y = way; c->y = way;
} }
updatesizehints(c); updatesizehints(c);
XSelectInput(dpy, c->win, XSelectInput(dpy, w,
StructureNotifyMask | PropertyChangeMask | EnterWindowMask); StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
XGetTransientForHint(dpy, c->win, &trans); XGetTransientForHint(dpy, w, &trans);
grabbuttons(c, False); grabbuttons(c, False);
wc.border_width = c->border; wc.border_width = c->border;
XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); XConfigureWindow(dpy, w, CWBorderWidth, &wc);
XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
configure(c); /* propagates border_width, if size doesn't change */ configure(c); /* propagates border_width, if size doesn't change */
updatetitle(c); updatetitle(c);
for(t = clients; t && t->win != c->win; t = t->next); for(t = clients; t && t->win != trans; t = t->next);
settags(c, t); settags(c, t);
if(!c->isfloat) if(!c->isfloat)
c->isfloat = (t != 0) || c->isfixed; c->isfloat = (t != NULL) || c->isfixed;
attach(c); attach(c);
attachstack(c); attachstack(c);
c->isbanned = True; c->isbanned = True;
XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); XMoveWindow(dpy, w, c->x + 2 * sw, c->y);
XMapWindow(dpy, c->win); XMapWindow(dpy, w);
setclientstate(c, NormalState); setclientstate(c, NormalState);
if(isvisible(c)) if(isvisible(c))
focus(c); focus(c);