From: Jason Woofenden Date: Mon, 17 Nov 2014 22:58:53 +0000 (-0500) Subject: fix pop() X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=commitdiff_plain;h=0bcbda6733cd666dac6bcae3fbee478df3da77ce;ds=sidebyside fix pop() --- diff --git a/dwm.c b/dwm.c index a04e2b6..8ade8d7 100644 --- a/dwm.c +++ b/dwm.c @@ -145,6 +145,7 @@ static void applyrules(Client *c); static Bool applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact); static void arrange(Monitor *m); static void arrangemon(Monitor *m); +static void attach_as_master(Client *c); static void attach(Client *c); static void attachstack(Client *c); static void buttonpress(XEvent *e); @@ -410,13 +411,17 @@ arrangemon(Monitor *m) { } void +attach_as_master(Client *c) { + c->next = c->mon->clients; + c->mon->clients = c; +} +void attach(Client *c) { if (c->mon->sel) { c->next = c->mon->sel->next; c->mon->sel->next = c; } else { - c->next = c->mon->clients; - c->mon->clients = c; + attach_as_master(c); } } @@ -1238,7 +1243,7 @@ nextvisible(Client *c) { void pop(Client *c) { detach(c); - attach(c); + attach_as_master(c); focus(c); arrange(c->mon); }