URI: 
       improved tile() for the RESIZEHINTS == True case, now more space is consumed by the clients (esp. if those clients use increment handling heavily) - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 3f3086f8b87aed5bf443c8fbcbe32e052fc9c17d
   DIR parent f92a4e45c42b5cdd26ec1a28048d9c47b51b98ce
  HTML Author: Anselm R. Garbe <garbeam@gmail.com>
       Date:   Thu, 27 Sep 2007 20:08:21 +0200
       
       improved tile() for the RESIZEHINTS == True case, now more space is consumed by the clients (esp. if those clients use increment handling heavily)
       Diffstat:
         M dwm.c                               |      11 ++++++-----
       
       1 file changed, 6 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       @@ -1569,7 +1569,7 @@ textw(const char *text) {
        void
        tile(void) {
                unsigned int i, n, nx, ny, nw, nh, mw, th;
       -        Client *c;
       +        Client *c, *mc;
        
                for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
                        n++;
       @@ -1582,7 +1582,8 @@ tile(void) {
        
                nx = wax;
                ny = way;
       -        for(i = 0, c = nexttiled(clients); c; c = nexttiled(c->next), i++) {
       +        nw = 0; /* gcc stupidity requires this */
       +        for(i = 0, c = mc = nexttiled(clients); c; c = nexttiled(c->next), i++) {
                        c->ismax = False;
                        if(i == 0) { /* master */
                                nw = mw - 2 * c->border;
       @@ -1591,9 +1592,9 @@ tile(void) {
                        else {  /* tile window */
                                if(i == 1) {
                                        ny = way;
       -                                nx += mw;
       +                                nx += mc->w + 2 * mc->border;
       +                                nw = waw - nx - 2 * c->border;
                                }
       -                        nw = waw - mw - 2 * c->border;
                                if(i + 1 == n) /* remainder */
                                        nh = (way + wah) - ny - 2 * c->border;
                                else
       @@ -1601,7 +1602,7 @@ tile(void) {
                        }
                        resize(c, nx, ny, nw, nh, RESIZEHINTS);
                        if(n > 1 && th != wah)
       -                        ny += nh + 2 * c->border;
       +                        ny = c->y + c->h + 2 * c->border;
                }
        }