URI: 
       introduced ISTILE, which can be easily extended with other layout functions to allow reuse of setmwfact() and zoom() - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8d1810c85befb0e7ec406e64c07825b7d24c66fc
   DIR parent 60444daa70591946f352446906e498c8ae3dafdf
  HTML Author: Anselm R. Garbe <garbeam@gmail.com>
       Date:   Sat, 22 Sep 2007 21:55:19 +0200
       
       introduced ISTILE, which can be easily extended with other layout functions to allow reuse of setmwfact() and zoom()
       Diffstat:
         M config.h                            |       7 ++++---
         M dwm.c                               |       6 +++---
       
       2 files changed, 7 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/config.h b/config.h
       @@ -22,14 +22,15 @@ Rule rules[] = {
        };
        
        /* layout(s) */
       +#define ISTILE                        isarrange(tile)
       +#define MWFACT                        0.6        /* master width factor [0.1 .. 0.9] */
       +#define RESIZEHINTS                True        /* False - respect size hints in tiled resizals */
       +#define SNAP                        32        /* snap pixel */
        Layout layouts[] = {
                /* symbol                function */
                { "[]=",                tile }, /* first entry is default */
                { "><>",                floating },
        };
       -#define RESIZEHINTS                True        /* False - respect size hints in tiled resizals */
       -#define MWFACT                        0.6        /* master width factor [0.1 .. 0.9] */
       -#define SNAP                        32        /* snap pixel */
        
        /* key definitions */
        #define MODKEY                        Mod1Mask
   DIR diff --git a/dwm.c b/dwm.c
       @@ -341,7 +341,7 @@ buttonpress(XEvent *e) {
                                movemouse(c);
                        }
                        else if(ev->button == Button2) {
       -                        if(isarrange(tile) && !c->isfixed && c->isfloating)
       +                        if(ISTILE && !c->isfixed && c->isfloating)
                                        togglefloating(NULL);
                                else
                                        zoom(NULL);
       @@ -1398,7 +1398,7 @@ void
        setmwfact(const char *arg) {
                double delta;
        
       -        if(isarrange(floating))
       +        if(!ISTILE)
                        return;
                /* arg handling, manipulate mwfact */
                if(arg == NULL)
       @@ -1850,7 +1850,7 @@ void
        zoom(const char *arg) {
                Client *c;
        
       -        if(!sel || isarrange(floating) || sel->isfloating)
       +        if(!sel || !ISTILE || sel->isfloating)
                        return;
                if((c = sel) == nexttiled(clients))
                        if(!(c = nexttiled(c->next)))