diff options
| author | Anselm R. Garbe <garbeam@gmail.com> | 2007-09-18 19:04:50 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <garbeam@gmail.com> | 2007-09-18 19:04:50 +0200 | 
| commit | 08c2d924809ca6e397126532c52955c3c04237e2 (patch) | |
| tree | d0b7e9a67147b404f290aced675b01e87e390b43 /dwm.c | |
| parent | fe2775a15ba2d4900788c57194da2bad3d19cfaf (diff) | |
applied Peter Hartlich's togglemax patch to allow toggling tiled clients to maximum
Diffstat (limited to 'dwm.c')
| -rw-r--r-- | dwm.c | 15 | 
1 files changed, 12 insertions, 3 deletions
| @@ -64,7 +64,7 @@ struct Client {  	int minax, maxax, minay, maxay;  	long flags;   	unsigned int border, oldborder; -	Bool isbanned, isfixed, ismax, isfloating; +	Bool isbanned, isfixed, ismax, isfloating, wasfloating;  	Bool *tags;  	Client *next;  	Client *prev; @@ -1627,17 +1627,26 @@ void  togglemax(const char *arg) {  	XEvent ev; -	if(!sel || (!isarrange(floating) && !sel->isfloating) || sel->isfixed) +	if(!sel || sel->isfixed)  		return;  	if((sel->ismax = !sel->ismax)) { +		if(isarrange(floating) || sel->isfloating) +			sel->wasfloating = True; +		else { +			togglefloating(NULL); +			sel->wasfloating = False; +		}  		sel->rx = sel->x;  		sel->ry = sel->y;  		sel->rw = sel->w;  		sel->rh = sel->h;  		resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True);  	} -	else +	else {  		resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True); +		if (!sel->wasfloating) +			togglefloating(NULL); +	}  	drawbar();  	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));  } | 
