- for(l=&clients; *l; l=&(*l)->next);
- c->next = *l; /* *l == nil */
- *l = c;
- c->snext = stack;
- stack = c;
- XMapWindow(dpy, c->win);
- focus(c);
+ settags(c);
+
+ if(clients)
+ clients->prev = c;
+ c->next = clients;
+ clients = c;
+
+ XGrabButton(dpy, Button1, MODKEY, c->win, False, BUTTONMASK,
+ GrabModeAsync, GrabModeSync, None, None);
+ XGrabButton(dpy, Button2, MODKEY, c->win, False, BUTTONMASK,
+ GrabModeAsync, GrabModeSync, None, None);
+ XGrabButton(dpy, Button3, MODKEY, c->win, False, BUTTONMASK,
+ GrabModeAsync, GrabModeSync, None, None);
+
+ if(!c->isfloat)
+ c->isfloat = trans || (c->maxw && c->minw &&
+ (c->maxw == c->minw) && (c->maxh == c->minh));
+
+
+ settitle(c);
+ arrange(NULL);
+
+ /* mapping the window now prevents flicker */
+ XMapRaised(dpy, c->win);
+ XMapRaised(dpy, c->title);
+ if(c->tags[tsel])
+ focus(c);