diff options
-rw-r--r-- | client.c | 7 | ||||
-rw-r--r-- | view.c | 15 |
2 files changed, 11 insertions, 11 deletions
diff --git a/client.c b/client.c index 45cb3a3..586a87f 100644 --- 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 --- 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); } |