I didn't knew of c->isfixed, that should fix Jukkas issue with gkrellm ;) 7a095d0c
Anselm R. Garbe · 2007-02-13 22:53 1 file(s) · +8 −6
event.c +8 −6
156 156
		}
157 157
		else if(ev->button == Button2)
158 158
			zoom(NULL);
159 -
		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat) &&
160 -
				!c->isfixed) {
159 +
		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)
160 +
				&& !c->isfixed)
161 +
		{
161 162
			restack();
162 163
			resizemouse(c);
163 164
		}
173 174
	if((c = getclient(ev->window))) {
174 175
		c->ismax = False;
175 176
		c->border = (ev->value_mask & CWBorderWidth) ? ev->border_width : c->border;
176 -
		if((!c->isfloat && (arrange != dofloat))
177 -
			|| ((ev->value_mask & (CWX | CWY)) && !(ev->value_mask & (CWWidth | CWHeight))))
178 -
			configure(c);
179 -
		else {
177 +
		if(c->isfixed || c->isfloat || (arrange == dofloat)) {
180 178
			c->x = (ev->value_mask & CWX) ? ev->x : c->x;
181 179
			c->y = (ev->value_mask & CWY) ? ev->y : c->y;
182 180
			c->w = (ev->value_mask & CWWidth) ? ev->width : c->w;
183 181
			c->h = (ev->value_mask & CWHeight) ? ev->height : c->h;
182 +
			if((ev->value_mask & (CWX | CWY)) && !(ev->value_mask & (CWWidth | CWHeight)))
183 +
				configure(c);
184 184
			resize(c, False);
185 185
			if(!isvisible(c))
186 186
				XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
187 187
		}
188 +
		else
189 +
			configure(c);
188 190
	}
189 191
	else {
190 192
		wc.x = ev->x;