#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 } }, \
{ 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 } }, \
{ 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 tag2[] = { 2 }; \
static Rule rule[] = { \
- /* class:instance tags isfloat */ \
- { "Firefox.*", tag2, 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}, \
};