From 0f395c1b115280a0976a85940c714152d8a58dac Mon Sep 17 00:00:00 2001 From: "arg@mig29" Date: Fri, 27 Oct 2006 13:28:26 +0200 Subject: applied sanders try2 patch --- client.c | 6 +++--- dwm.h | 2 +- event.c | 2 +- view.c | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/client.c b/client.c index d04692d0..0409671a 100644 --- a/client.c +++ b/client.c @@ -209,6 +209,8 @@ manage(Window w, XWindowAttributes *wa) { c->h = wa->height; c->th = bh; updatesize(c); + c->isfixed = (c->maxw && c->minw && c->maxh && c->minh && + c->maxw == c->minw && c->maxh == c->minh); if(c->x + c->w + 2 * BORDERPX > sw) c->x = sw - c->w - 2 * BORDERPX; if(c->x < sx) @@ -232,9 +234,7 @@ manage(Window w, XWindowAttributes *wa) { updatetitle(c); settags(c, getclient(trans)); if(!c->isfloat) - c->isfloat = trans - || (c->maxw && c->minw && c->maxh && c->minh && - c->maxw == c->minw && c->maxh == c->minh); + c->isfloat = trans || c->isfixed; resizetitle(c); if(clients) clients->prev = c; diff --git a/dwm.h b/dwm.h index 7cf168d0..850e60ba 100644 --- a/dwm.h +++ b/dwm.h @@ -83,7 +83,7 @@ struct Client { int grav; long flags; unsigned int border, weight; - Bool isfloat, ismax; + Bool isfloat, isfixed, ismax; Bool *tags; Client *next; Client *prev; diff --git a/event.c b/event.c index 42a6fc04..0e98f0fb 100644 --- a/event.c +++ b/event.c @@ -136,7 +136,7 @@ buttonpress(XEvent *e) { } else if(ev->button == Button2) zoom(NULL); - else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)) { + else if(ev->button == Button3 && (arrange == dofloat || c->isfloat) && !c->isfixed) { restack(); resizemouse(c); } diff --git a/view.c b/view.c index facbb4cb..85bfabf3 100644 --- a/view.c +++ b/view.c @@ -45,8 +45,7 @@ static void togglemax(Client *c) { XEvent ev; - if (x->maxw && x->minw && x->maxh && x->minh && - x->maxw == x->minw && x->maxh == x->minh) + if(c->isfixed) return; if((c->ismax = !c->ismax)) { -- cgit v1.2.3