client.c
changeset 861 55691060ffa3
parent 858 b797071ebbd4
child 863 53928ed4f36c
equal deleted inserted replaced
860:9d9fd4575591 861:55691060ffa3
   183 	c->win = w;
   183 	c->win = w;
   184 	c->x = wa->x;
   184 	c->x = wa->x;
   185 	c->y = wa->y;
   185 	c->y = wa->y;
   186 	c->w = wa->width;
   186 	c->w = wa->width;
   187 	c->h = wa->height;
   187 	c->h = wa->height;
       
   188 	c->border = wa->border_width;
   188 	if(c->w == sw && c->h == sh) {
   189 	if(c->w == sw && c->h == sh) {
   189 		c->border = 0;
       
   190 		c->x = sx;
   190 		c->x = sx;
   191 		c->y = sy;
   191 		c->y = sy;
   192 	}
   192 	}
   193 	else {
   193 	else {
   194 		c->border = BORDERPX;
       
   195 		if(c->x + c->w + 2 * c->border > wax + waw)
   194 		if(c->x + c->w + 2 * c->border > wax + waw)
   196 			c->x = wax + waw - c->w - 2 * c->border;
   195 			c->x = wax + waw - c->w - 2 * c->border;
   197 		if(c->y + c->h + 2 * c->border > way + wah)
   196 		if(c->y + c->h + 2 * c->border > way + wah)
   198 			c->y = way + wah - c->h - 2 * c->border;
   197 			c->y = way + wah - c->h - 2 * c->border;
   199 		if(c->x < wax)
   198 		if(c->x < wax)
   203 	}
   202 	}
   204 	updatesizehints(c);
   203 	updatesizehints(c);
   205 	XSelectInput(dpy, w,
   204 	XSelectInput(dpy, w,
   206 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   205 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   207 	grabbuttons(c, False);
   206 	grabbuttons(c, False);
   208 	wc.border_width = c->border;
   207 	wc.border_width = BORDERPX;
   209 	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
   208 	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
   210 	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
   209 	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
   211 	configure(c); /* propagates border_width, if size doesn't change */
   210 	configure(c); /* propagates border_width, if size doesn't change */
   212 	updatetitle(c);
   211 	updatetitle(c);
   213 	if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success))
   212 	if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success))
   268 		if(c->inch)
   267 		if(c->inch)
   269 			h -= (h - c->baseh) % c->inch;
   268 			h -= (h - c->baseh) % c->inch;
   270 	}
   269 	}
   271 	if(w <= 0 || h <= 0)
   270 	if(w <= 0 || h <= 0)
   272 		return;
   271 		return;
   273 	if(w == sw && h == sh)
       
   274 		c->border = 0;
       
   275 	else
       
   276 		c->border = BORDERPX;
       
   277 	/* offscreen appearance fixes */
   272 	/* offscreen appearance fixes */
   278 	if(x > sw)
   273 	if(x > sw)
   279 		x = sw - w - 2 * c->border;
   274 		x = sw - w - 2 * c->border;
   280 	if(y > sh)
   275 	if(y > sh)
   281 		y = sh - h - 2 * c->border;
   276 		y = sh - h - 2 * c->border;