all repos — dwm @ ea0008cba24b57f7955541568c8c527c06329ccd

my dwm build

applied the patch I missed from Gottox, thanks mate!
arg@garbe.us unknown
Tue, 03 Mar 2009 11:22:16 +0000
commit

ea0008cba24b57f7955541568c8c527c06329ccd

parent

af508c2e8209a5e967dc67726919bc4da60b2c2c

1 files changed, 13 insertions(+), 11 deletions(-)

jump to
M dwm.cdwm.c

@@ -170,7 +170,7 @@ static void movemouse(const Arg *arg);

static Client *nexttiled(Client *c); static void propertynotify(XEvent *e); static void quit(const Arg *arg); -static void resize(Client *c, int x, int y, int w, int h, Bool sizehints); +static void resize(Client *c, int x, int y, int w, int h); static void resizemouse(const Arg *arg); static void restack(void); static void run(void);

@@ -274,6 +274,9 @@

void applysizehints(Client *c, int *w, int *h) { Bool baseismin; + + if(!resizehints && !c->isfloating) + return; /* see last two sentences in ICCCM 4.1.2.3 */ baseismin = c->basew == c->minw && c->baseh == c->minh;

@@ -981,7 +984,7 @@ monocle(void) {

Client *c; for(c = nexttiled(clients); c; c = nexttiled(c->next)) { - resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw, resizehints); + resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw); } }

@@ -1029,7 +1032,7 @@ if(!c->isfloating && lt[sellt]->arrange && (abs(nx - c->x) > snap || abs(ny - c->y) > snap))

togglefloating(NULL); } if(!lt[sellt]->arrange || c->isfloating) - resize(c, nx, ny, c->w, c->h, False); + resize(c, nx, ny, c->w, c->h); break; } }

@@ -1085,11 +1088,10 @@ running = False;

} void -resize(Client *c, int x, int y, int w, int h, Bool sizehints) { +resize(Client *c, int x, int y, int w, int h) { XWindowChanges wc; - if(sizehints) - applysizehints(c, &w, &h); + applysizehints(c, &w, &h); if(w <= 0 || h <= 0) return; if(x > sx + sw)

@@ -1154,7 +1156,7 @@ && (abs(nw - c->w) > snap || abs(nh - c->h) > snap))

togglefloating(NULL); } if(!lt[sellt]->arrange || c->isfloating) - resize(c, c->x, c->y, nw, nh, True); + resize(c, c->x, c->y, nw, nh); break; } }

@@ -1344,7 +1346,7 @@ return;

if(ISVISIBLE(c)) { /* show clients top down */ XMoveWindow(dpy, c->win, c->x, c->y); if(!lt[sellt]->arrange || c->isfloating) - resize(c, c->x, c->y, c->w, c->h, True); + resize(c, c->x, c->y, c->w, c->h); showhide(c->snext, ntiled); } else { /* hide clients bottom up */

@@ -1405,7 +1407,7 @@

/* master */ c = nexttiled(clients); mw = mfact * ww; - resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw, resizehints); + resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw); if(--n == 0) return;

@@ -1420,7 +1422,7 @@ h = wh;

for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) - ? wy + wh - y - 2 * c->bw : h - 2 * c->bw), resizehints); + ? wy + wh - y - 2 * c->bw : h - 2 * c->bw)); if(h != wh) y = c->y + HEIGHT(c); }

@@ -1440,7 +1442,7 @@ if(!sel)

return; sel->isfloating = !sel->isfloating || sel->isfixed; if(sel->isfloating) - resize(sel, sel->x, sel->y, sel->w, sel->h, True); + resize(sel, sel->x, sel->y, sel->w, sel->h); arrange(); }