applied sanders try2 patch 0f395c1b
arg@mig29 · 2006-10-27 13:28 4 file(s) · +6 −7
client.c +3 −3
209 209
	c->h = wa->height;
210 210
	c->th = bh;
211 211
	updatesize(c);
212 +
	c->isfixed = (c->maxw && c->minw && c->maxh && c->minh &&
213 +
				c->maxw == c->minw && c->maxh == c->minh);
212 214
	if(c->x + c->w + 2 * BORDERPX > sw)
213 215
		c->x = sw - c->w - 2 * BORDERPX;
214 216
	if(c->x < sx)
232 234
	updatetitle(c);
233 235
	settags(c, getclient(trans));
234 236
	if(!c->isfloat)
235 -
		c->isfloat = trans
236 -
			|| (c->maxw && c->minw && c->maxh && c->minh &&
237 -
				c->maxw == c->minw && c->maxh == c->minh);
237 +
		c->isfloat = trans || c->isfixed;
238 238
	resizetitle(c);
239 239
	if(clients)
240 240
		clients->prev = c;
dwm.h +1 −1
83 83
	int grav;
84 84
	long flags; 
85 85
	unsigned int border, weight;
86 -
	Bool isfloat, ismax;
86 +
	Bool isfloat, isfixed, ismax;
87 87
	Bool *tags;
88 88
	Client *next;
89 89
	Client *prev;
event.c +1 −1
136 136
		}
137 137
		else if(ev->button == Button2)
138 138
			zoom(NULL);
139 -
		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)) {
139 +
		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat) && !c->isfixed) {
140 140
			restack();
141 141
			resizemouse(c);
142 142
		}
view.c +1 −2
45 45
togglemax(Client *c) {
46 46
	XEvent ev;
47 47
		
48 -
	if (x->maxw && x->minw && x->maxh && x->minh &&
49 -
			x->maxw == x->minw && x->maxh == x->minh)
48 +
	if(c->isfixed)
50 49
		return;
51 50
52 51
	if((c->ismax = !c->ismax)) {