JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied sanders try2 patch
authorarg@mig29 <unknown>
Fri, 27 Oct 2006 11:28:26 +0000 (13:28 +0200)
committerarg@mig29 <unknown>
Fri, 27 Oct 2006 11:28:26 +0000 (13:28 +0200)
client.c
dwm.h
event.c
view.c

index d04692d..0409671 100644 (file)
--- 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 7cf168d..850e60b 100644 (file)
--- 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 42a6fc0..0e98f0f 100644 (file)
--- 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 facbb4c..85bfabf 100644 (file)
--- 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)) {