client.c
changeset 718 09452e717bfd
parent 716 4ce65f61f01b
child 721 d3876aa79292
equal deleted inserted replaced
717:7a65648a2c88 718:09452e717bfd
   140 		c->x = sx;
   140 		c->x = sx;
   141 		c->y = sy;
   141 		c->y = sy;
   142 	}
   142 	}
   143 	else {
   143 	else {
   144 		c->border = BORDERPX;
   144 		c->border = BORDERPX;
       
   145 		if(c->x + c->w + 2 * c->border > wax + waw)
       
   146 			c->x = wax + waw - c->w - 2 * c->border;
       
   147 		if(c->y + c->h + 2 * c->border > way + wah)
       
   148 			c->y = way + wah - c->h - 2 * c->border;
   145 		if(c->x < wax)
   149 		if(c->x < wax)
   146 			c->x = wax;
   150 			c->x = wax;
   147 		if(c->y < way)
   151 		if(c->y < way)
   148 			c->y = way;
   152 			c->y = way;
   149 		if(c->x + c->w + 2 * c->border > wax + waw)
       
   150 			c->x = wax + waw - c->w - 2 * c->border;
       
   151 		if(c->y + c->h + 2 * c->border > way + wah)
       
   152 			c->y = way + wah - c->h - 2 * c->border;
       
   153 	}
   153 	}
   154 	updatesizehints(c);
   154 	updatesizehints(c);
   155 	c->proto = getproto(c->win);
   155 	c->proto = getproto(c->win);
   156 	XSelectInput(dpy, c->win,
   156 	XSelectInput(dpy, c->win,
   157 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   157 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
   195 	if(c->w == sw && c->h == sh)
   195 	if(c->w == sw && c->h == sh)
   196 		c->border = 0;
   196 		c->border = 0;
   197 	else
   197 	else
   198 		c->border = BORDERPX;
   198 		c->border = BORDERPX;
   199 	/* offscreen appearance fixes */
   199 	/* offscreen appearance fixes */
       
   200 	if(c->x > sw)
       
   201 		c->x = sw - c->w - 2 * c->border;
       
   202 	if(c->y > sh)
       
   203 		c->y = sh - c->h - 2 * c->border;
   200 	if(c->x + c->w + 2 * c->border < sx)
   204 	if(c->x + c->w + 2 * c->border < sx)
   201 		c->x = sx;
   205 		c->x = sx;
   202 	if(c->y + c->h + 2 * c->border < sy)
   206 	if(c->y + c->h + 2 * c->border < sy)
   203 		c->y = sy;
   207 		c->y = sy;
   204 	if(c->x > sw)
       
   205 		c->x = sw - c->w - 2 * c->border;
       
   206 	if(c->y > sh)
       
   207 		c->y = sh - c->h - 2 * c->border;
       
   208 	wc.x = c->x;
   208 	wc.x = c->x;
   209 	wc.y = c->y;
   209 	wc.y = c->y;
   210 	wc.width = c->w;
   210 	wc.width = c->w;
   211 	wc.height = c->h;
   211 	wc.height = c->h;
   212 	wc.border_width = c->border;
   212 	wc.border_width = c->border;