JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
no this is better
authorAnselm R. Garbe <arg@10kloc.org>
Wed, 6 Sep 2006 13:36:42 +0000 (15:36 +0200)
committerAnselm R. Garbe <arg@10kloc.org>
Wed, 6 Sep 2006 13:36:42 +0000 (15:36 +0200)
client.c
view.c

index 45cb3a3..586a87f 100644 (file)
--- a/client.c
+++ b/client.c
@@ -99,13 +99,6 @@ focus(Client *c)
                }
        }
        if(c) {
-               if(c->isfloat || arrange == dofloat) {
-                       detach(c);
-                       if(clients)
-                               clients->prev = c;
-                       c->next = clients;
-                       clients = c;
-               }
                grabbuttons(c, True);
                drawtitle(c);
                XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
diff --git a/view.c b/view.c
index e74d4bc..eddf2da 100644 (file)
--- a/view.c
+++ b/view.c
@@ -18,6 +18,15 @@ minclient()
        return min;
 }
 
+static void
+pop(Client *c)
+{
+       detach(c);
+       if(clients)
+               clients->prev = c;
+       c->next = clients;
+       clients = c;
+}
 
 static void
 reorder()
@@ -223,6 +232,7 @@ restack()
                return;
        }
        if(sel->isfloat || arrange == dofloat) {
+               pop(sel);
                XRaiseWindow(dpy, sel->win);
                XRaiseWindow(dpy, sel->twin);
        }
@@ -297,10 +307,7 @@ zoom(Arg *arg)
        if((c = sel) == nexttiled(clients))
                if(!(c = nexttiled(c->next)))
                        return;
-       detach(c);
-       c->next = clients;
-       clients->prev = c;
-       clients = c;
+       pop(c);
        focus(c);
        arrange(NULL);
 }