[hackers] [dwm] improved tile() for the RESIZEHINTS == True case, now more space is consumed by the clients (esp. if those clients use increment handling heavily)

From: Anselm R. Garbe <garbeam_AT_gmail.com>
Date: Thu Sep 27 20:11:58 2007

changeset: 1016:3027df4b2c0d
tag: tip
user: Anselm R. Garbe <garbeam_AT_gmail.com>
date: Thu Sep 27 20:08:21 2007 +0200
summary: improved tile() for the RESIZEHINTS == True case, now more space is consumed by the clients (esp. if those clients use increment handling heavily)

diff -r f052223df8d5 -r 3027df4b2c0d dwm.c
--- a/dwm.c Thu Sep 27 18:59:47 2007 +0200
+++ b/dwm.c Thu Sep 27 20:08:21 2007 +0200
@@ -1569,7 +1569,7 @@ void
 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;
         }
 }
 
Received on Thu Sep 27 2007 - 20:11:58 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:58:19 UTC