URI: 
       I prefer doing the check in showhide - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 862b0d541d76fb350bff36a2fef5f6ab02625d02
   DIR parent c1c6fdc5d8fef1247ac28e08ecc4d883095d1666
  HTML Author: Anselm R Garbe <garbeam@gmail.com>
       Date:   Sat,  6 Sep 2008 09:34:49 +0100
       
       I prefer doing the check in showhide
       Diffstat:
         M dwm.c                               |      10 ++++++----
       
       1 file changed, 6 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       @@ -272,8 +272,7 @@ applyrules(Client *c) {
        
        void
        arrange(void) {
       -        if(stack)
       -                showhide(stack);
       +        showhide(stack);
                focus(NULL);
                if(lt[sellt]->arrange)
                        lt[sellt]->arrange();
       @@ -1369,15 +1368,18 @@ setup(void) {
        
        void
        showhide(Client *c) {
       +        if(!c)
       +                return;
                if(ISVISIBLE(c)) { /* show clients top down */
                        XMoveWindow(dpy, c->win, c->x, c->y);
                        if(!lt[sellt]->arrange || c->isfloating)
                                resize(c, c->x, c->y, c->w, c->h, True);
       +                showhide(c->snext);
                }
       -        if(c->snext) /* hide clients bottom up */
       +        else { /* hide clients bottom up */
                        showhide(c->snext);
       -        if(!ISVISIBLE(c))
                        XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
       +        }
        }
        
        void