diff options
| -rw-r--r-- | client.c | 6 | ||||
| -rw-r--r-- | dwm.h | 2 | ||||
| -rw-r--r-- | event.c | 2 | ||||
| -rw-r--r-- | view.c | 3 | 
4 files changed, 6 insertions, 7 deletions
| @@ -209,6 +209,8 @@ manage(Window w, XWindowAttributes *wa) {  	c->h = wa->height;  	c->th = bh;  	updatesize(c); +	c->isfixed = (c->maxw && c->minw && c->maxh && c->minh && +				c->maxw == c->minw && c->maxh == c->minh);  	if(c->x + c->w + 2 * BORDERPX > sw)  		c->x = sw - c->w - 2 * BORDERPX;  	if(c->x < sx) @@ -232,9 +234,7 @@ manage(Window w, XWindowAttributes *wa) {  	updatetitle(c);  	settags(c, getclient(trans));  	if(!c->isfloat) -		c->isfloat = trans -			|| (c->maxw && c->minw && c->maxh && c->minh && -				c->maxw == c->minw && c->maxh == c->minh); +		c->isfloat = trans || c->isfixed;  	resizetitle(c);  	if(clients)  		clients->prev = c; @@ -83,7 +83,7 @@ struct Client {  	int grav;  	long flags;   	unsigned int border, weight; -	Bool isfloat, ismax; +	Bool isfloat, isfixed, ismax;  	Bool *tags;  	Client *next;  	Client *prev; @@ -136,7 +136,7 @@ buttonpress(XEvent *e) {  		}  		else if(ev->button == Button2)  			zoom(NULL); -		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)) { +		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat) && !c->isfixed) {  			restack();  			resizemouse(c);  		} @@ -45,8 +45,7 @@ static void  togglemax(Client *c) {  	XEvent ev; -	if (x->maxw && x->minw && x->maxh && x->minh && -			x->maxw == x->minw && x->maxh == x->minh) +	if(c->isfixed)  		return;  	if((c->ismax = !c->ismax)) { | 
