238 c->x = wax; |
238 c->x = wax; |
239 if(c->y < way) |
239 if(c->y < way) |
240 c->y = way; |
240 c->y = way; |
241 } |
241 } |
242 updatesizehints(c); |
242 updatesizehints(c); |
243 XSelectInput(dpy, c->win, |
243 XSelectInput(dpy, w, |
244 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
244 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
245 XGetTransientForHint(dpy, c->win, &trans); |
245 XGetTransientForHint(dpy, w, &trans); |
246 grabbuttons(c, False); |
246 grabbuttons(c, False); |
247 wc.border_width = c->border; |
247 wc.border_width = c->border; |
248 XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); |
248 XConfigureWindow(dpy, w, CWBorderWidth, &wc); |
249 XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); |
249 XSetWindowBorder(dpy, w, dc.norm[ColBorder]); |
250 configure(c); /* propagates border_width, if size doesn't change */ |
250 configure(c); /* propagates border_width, if size doesn't change */ |
251 updatetitle(c); |
251 updatetitle(c); |
252 for(t = clients; t && t->win != c->win; t = t->next); |
252 for(t = clients; t && t->win != trans; t = t->next); |
253 settags(c, t); |
253 settags(c, t); |
254 if(!c->isfloat) |
254 if(!c->isfloat) |
255 c->isfloat = (t != 0) || c->isfixed; |
255 c->isfloat = (t != NULL) || c->isfixed; |
256 attach(c); |
256 attach(c); |
257 attachstack(c); |
257 attachstack(c); |
258 c->isbanned = True; |
258 c->isbanned = True; |
259 XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); |
259 XMoveWindow(dpy, w, c->x + 2 * sw, c->y); |
260 XMapWindow(dpy, c->win); |
260 XMapWindow(dpy, w); |
261 setclientstate(c, NormalState); |
261 setclientstate(c, NormalState); |
262 if(isvisible(c)) |
262 if(isvisible(c)) |
263 focus(c); |
263 focus(c); |
264 arrange(); |
264 arrange(); |
265 } |
265 } |