JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Peter Hartlich's simplification patch of setmfact and his revival of MFACT...
[dwm.git] / config.def.h
index 4118d68..541e405 100644 (file)
 #define SELBGCOLOR             "#0066ff"
 #define SELFGCOLOR             "#ffffff"
 
-/* bar position */
-#define BX sx
-#define BY sy
-#define BW sw
-
-/* window area */
-#define WX 0
-#define WY bh
-#define WW sw
-#define WH sh - bh
-
-/* master area */
-#define MX WX
-#define MY WY
-#define MW ((int)(((float)sw) * 0.6))
-#define MH WH
-
-/* tile area, might be on a different screen */
-#define TX MX + MW
-#define TY WY
-#define TW WW - MW
-#define TH WH
-
-/* monocle area, might be restricted to a specific screen */
-#define MOX WX
-#define MOY WY
-#define MOW WW
-#define MOH WH
-
 /* tagging */
 const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
 
 Rule rules[] = {
-       /* class:instance:title substr  tags ref        isfloating */
-       { "Firefox",                    tags[8],        False },
-       { "Gimp",                       NULL,           True },
-       { "MPlayer",                    NULL,           True },
-       { "Acroread",                   NULL,           True },
+       /* class        instance        title           tags ref        isfloating */
+       { "Gimp",       NULL,           NULL,           NULL,           True },
+};
+
+/* geometries, s{x,y,w,h} and bh are already initualized here */
+/*   func name  bx  by  bw  wx  wy  ww     wh  mx  my       mw  mh     tx  ty     tw  th  mox moy mow moh */
+#define MFACT                  0.55    /* master width factor [0.1 .. 0.9] */
+DEFGEOM(single,  0,  0, sw,  0, bh, sw, sh-bh, wx, wy, mfact*sw, wh, mx+mw, wy, ww-mw, wh,  wx, wy, ww, wh)
+DEFGEOM(dual,    0,  0,1280, 0, bh, ww, wh-bh, wx, wy, 1280,800-bh,  1280,  0, ww-mw, sh,  mx, my, mw, mh)
+
+Geom geoms[] = {
+       /* symbol       function */
+       { "[]",         single },       /* first entry is default */
+       { "[][]",       dual },
 };
 
 /* layout(s) */
@@ -66,25 +46,20 @@ Layout layouts[] = {
 #define MODKEY                 Mod1Mask
 Key keys[] = {
        /* modifier                     key             function        argument */
-#if ANSELM_OFFICE
-       { MODKEY,                       XK_p,           spawn,
-               "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"' -x 0 -y 0 -w 1280" },
-#else
        { MODKEY,                       XK_p,           spawn,
                "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
-#endif
-       { MODKEY|ShiftMask,             XK_Return,      spawn, "exec uxterm" },
+       { MODKEY|ShiftMask,             XK_Return,      spawn,          "exec uxterm" },
        { MODKEY,                       XK_j,           focusnext,      NULL },
        { MODKEY,                       XK_k,           focusprev,      NULL },
        { MODKEY,                       XK_r,           reapply,        NULL },
+       { MODKEY,                       XK_h,           setmfact,       "-0.05" },
+       { MODKEY,                       XK_l,           setmfact,       "+0.05" },
        { MODKEY,                       XK_Return,      zoom,           NULL },
        { MODKEY,                       XK_Tab,         viewprevtag,    NULL },
-       { MODKEY,                       XK_m,           setlayout,      "[M]" },
-       { MODKEY,                       XK_f,           setlayout,      "><>" },
-       { MODKEY,                       XK_v,           setlayout,      "[]=" },
-       { MODKEY,                       XK_h,           setlayout,      "[]|" },
-       { MODKEY|ShiftMask,             XK_space,       togglefloating, NULL },
        { MODKEY|ShiftMask,             XK_c,           killclient,     NULL },
+       { MODKEY,                       XK_space,       setlayout,      NULL },
+       { MODKEY|ShiftMask,             XK_space,       togglefloating, NULL },
+       { MODKEY|ControlMask,           XK_space,       setgeom,        NULL },
        { MODKEY,                       XK_0,           view,           NULL },
        { MODKEY,                       XK_1,           view,           tags[0] },
        { MODKEY,                       XK_2,           view,           tags[1] },