JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
switched to regexp matching for Rules
[dwm.git] / config.arg.h
index 0c39d3b..d391f9e 100644 (file)
@@ -17,13 +17,6 @@ const char *tags[] = { "fnord", "dev", "net", "work", "misc", NULL };
 #define MASTERW                        60 /* percent */
 
 #define KEYS \
-       const char *browse[] = { "firefox", NULL }; \
-       const char *gimp[] = { "gimp", NULL }; \
-       const char *term[] = { \
-               "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", \
-               "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL \
-       }; \
-       const char *xlock[] = { "xlock", NULL }; \
 static Key key[] = { \
        /* modifier             key             function        arguments */ \
        { MODKEY,               XK_0,           view,           { .i = 0 } }, \
@@ -36,6 +29,9 @@ static Key key[] = { \
        { MODKEY,               XK_k,           focusprev,      { 0 } }, \
        { MODKEY,               XK_l,           viewnext,       { 0 } }, \
        { MODKEY,               XK_m,           togglemax,      { 0 } }, \
+       { MODKEY,               XK_p,           spawn, \
+               { .cmd = "exec `ls -lL /usr/bin /usr/local/bin 2>/dev/null |" \
+               " awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq | dmenu`" } }, \
        { MODKEY,               XK_space,       togglemode,     { 0 } }, \
        { MODKEY,               XK_Return,      zoom,           { 0 } }, \
        { MODKEY|ControlMask,   XK_0,           appendtag,      { .i = 0 } }, \
@@ -50,18 +46,16 @@ static Key key[] = { \
        { MODKEY|ShiftMask,     XK_4,           replacetag,     { .i = 5 } }, \
        { MODKEY|ShiftMask,     XK_c,           killclient,     { 0 } }, \
        { MODKEY|ShiftMask,     XK_q,           quit,           { 0 } }, \
-       { MODKEY|ShiftMask,     XK_Return,      spawn,          { .argv = term } }, \
-       { MODKEY|ShiftMask,     XK_g,           spawn,          { .argv = gimp } }, \
-       { MODKEY|ShiftMask,     XK_l,           spawn,          { .argv = xlock } }, \
-       { MODKEY|ShiftMask,     XK_w,           spawn,          { .argv = browse } }, \
+       { MODKEY|ShiftMask,     XK_Return,      spawn, \
+               { .cmd = "exec urxvt -tr +sb -bg black -fg white -cr white " \
+                       "-fn '-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*'" } }, \
 };
 
 #define RULES \
-       const unsigned int two[] = { 2 }; \
 static Rule rule[] = { \
-       /* class:instance       tags            isfloat */ \
-       { "Firefox.*",          two,            False }, \
-       { "Gimp.*",             NULL,           True}, \
-       { "MPlayer.*",          NULL,           True}, \
-       { "Acroread.*",         NULL,           True}, \
+       /* class:instance regex         tags regex      isfloat */ \
+       { "Firefox.*",                  "net",          False }, \
+       { "Gimp.*",                     NULL,           True}, \
+       { "MPlayer.*",                  NULL,           True}, \
+       { "Acroread.*",                 NULL,           True}, \
 };