mirror of git://git.suckless.org/dwm
changed border handling
This commit is contained in:
parent
be8d6d40f6
commit
464fc2cd18
9
client.c
9
client.c
|
@ -185,13 +185,12 @@ manage(Window w, XWindowAttributes *wa) {
|
||||||
c->y = wa->y;
|
c->y = wa->y;
|
||||||
c->w = wa->width;
|
c->w = wa->width;
|
||||||
c->h = wa->height;
|
c->h = wa->height;
|
||||||
|
c->border = wa->border_width;
|
||||||
if(c->w == sw && c->h == sh) {
|
if(c->w == sw && c->h == sh) {
|
||||||
c->border = 0;
|
|
||||||
c->x = sx;
|
c->x = sx;
|
||||||
c->y = sy;
|
c->y = sy;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
c->border = BORDERPX;
|
|
||||||
if(c->x + c->w + 2 * c->border > wax + waw)
|
if(c->x + c->w + 2 * c->border > wax + waw)
|
||||||
c->x = wax + waw - c->w - 2 * c->border;
|
c->x = wax + waw - c->w - 2 * c->border;
|
||||||
if(c->y + c->h + 2 * c->border > way + wah)
|
if(c->y + c->h + 2 * c->border > way + wah)
|
||||||
|
@ -205,7 +204,7 @@ manage(Window w, XWindowAttributes *wa) {
|
||||||
XSelectInput(dpy, w,
|
XSelectInput(dpy, w,
|
||||||
StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
|
StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
|
||||||
grabbuttons(c, False);
|
grabbuttons(c, False);
|
||||||
wc.border_width = c->border;
|
wc.border_width = BORDERPX;
|
||||||
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
|
XConfigureWindow(dpy, w, CWBorderWidth, &wc);
|
||||||
XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
|
XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
|
||||||
configure(c); /* propagates border_width, if size doesn't change */
|
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)
|
if(w <= 0 || h <= 0)
|
||||||
return;
|
return;
|
||||||
if(w == sw && h == sh)
|
|
||||||
c->border = 0;
|
|
||||||
else
|
|
||||||
c->border = BORDERPX;
|
|
||||||
/* offscreen appearance fixes */
|
/* offscreen appearance fixes */
|
||||||
if(x > sw)
|
if(x > sw)
|
||||||
x = sw - w - 2 * c->border;
|
x = sw - w - 2 * c->border;
|
||||||
|
|
4
event.c
4
event.c
|
@ -191,10 +191,8 @@ configurerequest(XEvent *e) {
|
||||||
if(isvisible(c))
|
if(isvisible(c))
|
||||||
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
|
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
configure(c);
|
configure(c);
|
||||||
}
|
|
||||||
c->border = BORDERPX;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
wc.x = ev->x;
|
wc.x = ev->x;
|
||||||
|
|
16
layout.c
16
layout.c
|
@ -38,18 +38,18 @@ tile(void) {
|
||||||
ny = way;
|
ny = way;
|
||||||
if(i < nmaster) {
|
if(i < nmaster) {
|
||||||
ny += i * mh;
|
ny += i * mh;
|
||||||
nw = mw - 2 * BORDERPX;
|
nw = mw - 2 * c->border;
|
||||||
nh = mh - 2 * BORDERPX;
|
nh = mh - 2 * c->border;
|
||||||
}
|
}
|
||||||
else { /* tile window */
|
else { /* tile window */
|
||||||
nx += mw;
|
nx += mw;
|
||||||
nw = tw - 2 * BORDERPX;
|
nw = tw - 2 * c->border;
|
||||||
if(th > 2 * BORDERPX) {
|
if(th > 2 * c->border) {
|
||||||
ny += (i - nmaster) * th;
|
ny += (i - nmaster) * th;
|
||||||
nh = th - 2 * BORDERPX;
|
nh = th - 2 * c->border;
|
||||||
}
|
}
|
||||||
else /* fallback if th <= 2 * BORDERPX */
|
else /* fallback if th <= 2 * c->border */
|
||||||
nh = wah - 2 * BORDERPX;
|
nh = wah - 2 * c->border;
|
||||||
}
|
}
|
||||||
resize(c, nx, ny, nw, nh, False);
|
resize(c, nx, ny, nw, nh, False);
|
||||||
i++;
|
i++;
|
||||||
|
@ -125,7 +125,7 @@ incmasterw(const char *arg) {
|
||||||
masterw = MASTERWIDTH;
|
masterw = MASTERWIDTH;
|
||||||
else {
|
else {
|
||||||
i = atoi(arg);
|
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)
|
|| waw * (masterw + i) / 1000 <= 2 * BORDERPX)
|
||||||
return;
|
return;
|
||||||
masterw += i;
|
masterw += i;
|
||||||
|
|
Loading…
Reference in New Issue