aewl

diff client.c @ 99:a19556fe83b5

applied Sanders resize patch, fixed lower bug
author arg@10ksloc.org
date Wed, 19 Jul 2006 11:31:04 +0200
parents 5d88952cbf96
children bb3803fb560c
line diff
     1.1 --- a/client.c	Tue Jul 18 17:54:55 2006 +0200
     1.2 +++ b/client.c	Wed Jul 19 11:31:04 2006 +0200
     1.3 @@ -267,7 +267,7 @@
     1.4  	*sel->w = sw - 2 * sel->border;
     1.5  	*sel->h = sh - 2 * sel->border - bh;
     1.6  	higher(sel);
     1.7 -	resize(sel, False);
     1.8 +	resize(sel, False, TopLeft);
     1.9  }
    1.10  
    1.11  void
    1.12 @@ -283,9 +283,11 @@
    1.13  }
    1.14  
    1.15  void
    1.16 -resize(Client *c, Bool inc)
    1.17 +resize(Client *c, Bool inc, Corner sticky)
    1.18  {
    1.19  	XConfigureEvent e;
    1.20 +	int right = *c->x + *c->w;
    1.21 +	int bottom = *c->y + *c->h;
    1.22  
    1.23  	if(inc) {
    1.24  		if(c->incw)
    1.25 @@ -305,6 +307,10 @@
    1.26  		*c->w = c->maxw;
    1.27  	if(c->maxh && *c->h > c->maxh)
    1.28  		*c->h = c->maxh;
    1.29 +	if(sticky == TopRight || sticky == BottomRight)
    1.30 +		*c->x = right - *c->w;
    1.31 +	if(sticky == BottomLeft || sticky == BottomRight)
    1.32 +		*c->y = bottom - *c->h;
    1.33  	resizetitle(c);
    1.34  	XSetWindowBorderWidth(dpy, c->win, 1);
    1.35  	XMoveResizeWindow(dpy, c->win, *c->x, *c->y, *c->w, *c->h);