commit 464fc2cd18e82e6b1c169a5a7ce19f923d08d4e3
parent be8d6d40f60b45f941bd9cb6896b83ce223b6406
Author: Anselm R. Garbe <arg@suckless.org>
Date: Tue, 17 Apr 2007 14:56:46 +0200
changed border handling
Diffstat:
3 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/client.c b/client.c
@@ -185,13 +185,12 @@ manage(Window w, XWindowAttributes *wa) {
c->y = wa->y;
c->w = wa->width;
c->h = wa->height;
+ c->border = wa->border_width;
if(c->w == sw && c->h == sh) {
- c->border = 0;
c->x = sx;
c->y = sy;
}
else {
- c->border = BORDERPX;
if(c->x + c->w + 2 * c->border > wax + waw)
c->x = wax + waw - c->w - 2 * c->border;
if(c->y + c->h + 2 * c->border > way + wah)
@@ -205,7 +204,7 @@ manage(Window w, XWindowAttributes *wa) {
XSelectInput(dpy, w,
StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
grabbuttons(c, False);
- wc.border_width = c->border;
+ wc.border_width = BORDERPX;
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
configure(c); /* propagates border_width, if size doesn't change */
@@ -270,10 +269,6 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
}
if(w <= 0 || h <= 0)
return;
- if(w == sw && h == sh)
- c->border = 0;
- else
- c->border = BORDERPX;
/* offscreen appearance fixes */
if(x > sw)
x = sw - w - 2 * c->border;
diff --git a/event.c b/event.c
@@ -191,10 +191,8 @@ configurerequest(XEvent *e) {
if(isvisible(c))
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
}
- else {
+ else
configure(c);
- }
- c->border = BORDERPX;
}
else {
wc.x = ev->x;
diff --git a/layout.c b/layout.c
@@ -38,18 +38,18 @@ tile(void) {
ny = way;
if(i < nmaster) {
ny += i * mh;
- nw = mw - 2 * BORDERPX;
- nh = mh - 2 * BORDERPX;
+ nw = mw - 2 * c->border;
+ nh = mh - 2 * c->border;
}
else { /* tile window */
nx += mw;
- nw = tw - 2 * BORDERPX;
- if(th > 2 * BORDERPX) {
+ nw = tw - 2 * c->border;
+ if(th > 2 * c->border) {
ny += (i - nmaster) * th;
- nh = th - 2 * BORDERPX;
+ nh = th - 2 * c->border;
}
- else /* fallback if th <= 2 * BORDERPX */
- nh = wah - 2 * BORDERPX;
+ else /* fallback if th <= 2 * c->border */
+ nh = wah - 2 * c->border;
}
resize(c, nx, ny, nw, nh, False);
i++;
@@ -125,7 +125,7 @@ incmasterw(const char *arg) {
masterw = MASTERWIDTH;
else {
i = atoi(arg);
- if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX
+ if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX
|| waw * (masterw + i) / 1000 <= 2 * BORDERPX)
return;
masterw += i;