{
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
{
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK,
GrabModeAsync, GrabModeSync, None, None);
XGrabButton(dpy, Button1, MODKEY | LockMask, c->win, False, BUTTONMASK,
XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK,
GrabModeAsync, GrabModeSync, None, None);
XGrabButton(dpy, Button1, MODKEY | LockMask, c->win, False, BUTTONMASK,
- grabbuttons(old, False);
- drawtitle(old);
+ if(old) {
+ grabbuttons(old, False);
+ drawtitle(old);
+ }
+ }
+ if(c) {
+ detachstack(c);
+ c->snext = stack;
+ stack = c;
+ grabbuttons(c, True);
+ drawtitle(c);
+ XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
- grabbuttons(c, True);
- drawtitle(c);
- XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
+ else
+ XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
- if((tc = getclient(trans))) /* inherit tags */
- for(i = 0; i < ntags; i++)
- c->tags[i] = tc->tags[i];
- else
- settags(c);
+ settags(c, getclient(trans));
- XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
+ XConfigureWindow(dpy, c->win, CWX | CWY | CWWidth | CWHeight | CWBorderWidth, &wc);
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
XDestroyWindow(dpy, c->twin);
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
XDestroyWindow(dpy, c->twin);