URI: 
       changed border handling - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 464fc2cd18e82e6b1c169a5a7ce19f923d08d4e3
   DIR parent be8d6d40f60b45f941bd9cb6896b83ce223b6406
  HTML Author: Anselm R. Garbe <arg@suckless.org>
       Date:   Tue, 17 Apr 2007 14:56:46 +0200
       
       changed border handling
       Diffstat:
         M client.c                            |       9 ++-------
         M event.c                             |       4 +---
         M layout.c                            |      16 ++++++++--------
       
       3 files changed, 11 insertions(+), 18 deletions(-)
       ---
   DIR 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;
   DIR 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;
   DIR 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;