dwm
dynamic window manager
git clone https://9o.is/git/dwm.git
commit a33150eb4b041b243d0493cd4b53bfbcace3299e parent fd00b3a18620c70721c4c4d9f0169e06b9ce4437 Author: Anselm R. Garbe <arg@10kloc.org> Date: Wed, 6 Sep 2006 15:36:42 +0200 no this is better Diffstat:
| M | client.c | | | 7 | ------- |
| M | view.c | | | 15 | +++++++++++---- |
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git 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 @@ -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); }