client.c
changeset 754 65ac12761a04
parent 752 9fe042b02e18
child 757 22dfaeb82491
equal deleted inserted replaced
753:db484aa5c2cf 754:65ac12761a04
   146 		XKillClient(dpy, sel->win);
   146 		XKillClient(dpy, sel->win);
   147 }
   147 }
   148 
   148 
   149 void
   149 void
   150 manage(Window w, XWindowAttributes *wa) {
   150 manage(Window w, XWindowAttributes *wa) {
   151 	Client *c;
   151 	Client *c, *t;
   152 	Window trans;
   152 	Window trans;
   153 
   153 
   154 	c = emallocz(sizeof(Client));
   154 	c = emallocz(sizeof(Client));
   155 	c->tags = emallocz(ntags * sizeof(Bool));
   155 	c->tags = emallocz(ntags * sizeof(Bool));
   156 	c->win = w;
   156 	c->win = w;
   179 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   179 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   180 	XGetTransientForHint(dpy, c->win, &trans);
   180 	XGetTransientForHint(dpy, c->win, &trans);
   181 	grabbuttons(c, False);
   181 	grabbuttons(c, False);
   182 	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
   182 	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
   183 	updatetitle(c);
   183 	updatetitle(c);
   184 	settags(c, getclient(trans));
   184 	t = getclient(trans);
       
   185 	settags(c, t);
   185 	if(!c->isfloat)
   186 	if(!c->isfloat)
   186 		c->isfloat = trans || c->isfixed;
   187 		c->isfloat = (t != 0) || c->isfixed;
   187 	if(clients)
   188 	if(clients)
   188 		clients->prev = c;
   189 		clients->prev = c;
   189 	c->next = clients;
   190 	c->next = clients;
   190 	c->snext = stack;
   191 	c->snext = stack;
   191 	stack = clients = c;
   192 	stack = clients = c;