changed border handling 464fc2cd
Anselm R. Garbe · 2007-04-17 14:56 3 file(s) · +11 −18
client.c +2 −7
185 185
	c->y = wa->y;
186 186
	c->w = wa->width;
187 187
	c->h = wa->height;
188 +
	c->border = wa->border_width;
188 189
	if(c->w == sw && c->h == sh) {
189 -
		c->border = 0;
190 190
		c->x = sx;
191 191
		c->y = sy;
192 192
	}
193 193
	else {
194 -
		c->border = BORDERPX;
195 194
		if(c->x + c->w + 2 * c->border > wax + waw)
196 195
			c->x = wax + waw - c->w - 2 * c->border;
197 196
		if(c->y + c->h + 2 * c->border > way + wah)
205 204
	XSelectInput(dpy, w,
206 205
		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
207 206
	grabbuttons(c, False);
208 -
	wc.border_width = c->border;
207 +
	wc.border_width = BORDERPX;
209 208
	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
210 209
	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
211 210
	configure(c); /* propagates border_width, if size doesn't change */
270 269
	}
271 270
	if(w <= 0 || h <= 0)
272 271
		return;
273 -
	if(w == sw && h == sh)
274 -
		c->border = 0;
275 -
	else
276 -
		c->border = BORDERPX;
277 272
	/* offscreen appearance fixes */
278 273
	if(x > sw)
279 274
		x = sw - w - 2 * c->border;
event.c +1 −3
191 191
			if(isvisible(c))
192 192
				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
193 193
		}
194 -
		else {
194 +
		else
195 195
			configure(c);
196 -
		}
197 -
		c->border = BORDERPX;
198 196
	}
199 197
	else {
200 198
		wc.x = ev->x;
layout.c +8 −8
38 38
			ny = way;
39 39
			if(i < nmaster) {
40 40
				ny += i * mh;
41 -
				nw = mw - 2 * BORDERPX;
42 -
				nh = mh - 2 * BORDERPX;
41 +
				nw = mw - 2 * c->border;
42 +
				nh = mh - 2 * c->border;
43 43
			}
44 44
			else {  /* tile window */
45 45
				nx += mw;
46 -
				nw = tw - 2 * BORDERPX;
47 -
				if(th > 2 * BORDERPX) {
46 +
				nw = tw - 2 * c->border;
47 +
				if(th > 2 * c->border) {
48 48
					ny += (i - nmaster) * th;
49 -
					nh = th - 2 * BORDERPX;
49 +
					nh = th - 2 * c->border;
50 50
				}
51 -
				else /* fallback if th <= 2 * BORDERPX */
52 -
					nh = wah - 2 * BORDERPX;
51 +
				else /* fallback if th <= 2 * c->border */
52 +
					nh = wah - 2 * c->border;
53 53
			}
54 54
			resize(c, nx, ny, nw, nh, False);
55 55
			i++;
125 125
		masterw = MASTERWIDTH;
126 126
	else {
127 127
		i = atoi(arg);
128 -
		if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX
128 +
		if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX 
129 129
		|| waw * (masterw + i) / 1000 <= 2 * BORDERPX)
130 130
			return;
131 131
		masterw += i;