client.c
changeset 431 a230e4432bb7
parent 430 1e8aba00964e
child 435 42388f634de0
equal deleted inserted replaced
430:1e8aba00964e 431:a230e4432bb7
   197 
   197 
   198 void
   198 void
   199 manage(Window w, XWindowAttributes *wa)
   199 manage(Window w, XWindowAttributes *wa)
   200 {
   200 {
   201 	unsigned int i;
   201 	unsigned int i;
   202 	Client *c, *tc;
   202 	Client *c;
   203 	Window trans;
   203 	Window trans;
   204 	XSetWindowAttributes twa;
   204 	XSetWindowAttributes twa;
   205 
   205 
   206 	c = emallocz(sizeof(Client));
   206 	c = emallocz(sizeof(Client));
   207 	c->tags = emallocz(ntags * sizeof(Bool));
   207 	c->tags = emallocz(ntags * sizeof(Bool));
   236 			0, DefaultDepth(dpy, screen), CopyFromParent,
   236 			0, DefaultDepth(dpy, screen), CopyFromParent,
   237 			DefaultVisual(dpy, screen),
   237 			DefaultVisual(dpy, screen),
   238 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa);
   238 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa);
   239 
   239 
   240 	grabbuttons(c, False);
   240 	grabbuttons(c, False);
   241 	if((tc = getclient(trans))) /* inherit tags */
   241 	settags(c, getclient(trans));
   242 		for(i = 0; i < ntags; i++)
       
   243 			c->tags[i] = tc->tags[i];
       
   244 	else
       
   245 		settags(c);
       
   246 	if(!c->isfloat)
   242 	if(!c->isfloat)
   247 		c->isfloat = trans
   243 		c->isfloat = trans
   248 			|| (c->maxw && c->minw &&
   244 			|| (c->maxw && c->minw &&
   249 				c->maxw == c->minw && c->maxh == c->minh);
   245 				c->maxw == c->minw && c->maxh == c->minh);
   250 
   246