# HG changeset patch # User arg@mig29 # Date 1164646198 -3600 # Node ID 732c58a3d92dcd8111184f2db1359a5a33a2c8e0 # Parent 1477b61ec8d4e6de1df6efcc40de663ff96731ae returning to old Key struct diff -r 1477b61ec8d4 -r 732c58a3d92d config.arg.h --- a/config.arg.h Mon Nov 27 17:46:02 2006 +0100 +++ b/config.arg.h Mon Nov 27 17:49:58 2006 +0100 @@ -19,44 +19,43 @@ #define MASTER 600 /* per thousand */ #define MODKEY Mod1Mask -#define NFUNCS 1 /* number of funcs per key */ #define SNAP 40 /* pixel */ #define KEYS \ static Key key[] = { \ - /* modifier key functions arguments */ \ - { MODKEY|ShiftMask, XK_Return, { spawn }, \ + /* modifier key function argument */ \ + { MODKEY|ShiftMask, XK_Return, spawn, \ { .cmd = "exec urxvtc -tr -bg black -fg '#eeeeee' -cr '#eeeeee' +sb -fn '"FONT"'" } }, \ - { MODKEY, XK_p, { spawn }, \ + { MODKEY, XK_p, spawn, \ { .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \ " | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -normfg '"NORMFGCOLOR"' " \ "-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exec $exe" } }, \ - { MODKEY, XK_j, { focusnext }, { 0 } }, \ - { MODKEY, XK_k, { focusprev }, { 0 } }, \ - { MODKEY, XK_Return, { zoom }, { 0 } }, \ - { MODKEY, XK_g, { resizemaster }, { .i = 15 } }, \ - { MODKEY, XK_s, { resizemaster }, { .i = -15 } }, \ - { MODKEY|ShiftMask, XK_1, { tag }, { .i = 0 } }, \ - { MODKEY|ShiftMask, XK_2, { tag }, { .i = 1 } }, \ - { MODKEY|ShiftMask, XK_3, { tag }, { .i = 2 } }, \ - { MODKEY|ShiftMask, XK_4, { tag }, { .i = 3 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_1, { toggletag }, { .i = 0 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_2, { toggletag }, { .i = 1 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_3, { toggletag }, { .i = 2 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_4, { toggletag }, { .i = 3 } }, \ - { MODKEY|ShiftMask, XK_c, { killclient }, { 0 } }, \ - { MODKEY, XK_space, { togglemode }, { 0 } }, \ - { MODKEY|ShiftMask, XK_space, { togglefloat }, { 0 } }, \ - { MODKEY, XK_0, { viewall }, { 0 } }, \ - { MODKEY, XK_1, { view }, { .i = 0 } }, \ - { MODKEY, XK_2, { view }, { .i = 1 } }, \ - { MODKEY, XK_3, { view }, { .i = 2 } }, \ - { MODKEY, XK_4, { view }, { .i = 3 } }, \ - { MODKEY|ControlMask, XK_1, { toggleview }, { .i = 0 } }, \ - { MODKEY|ControlMask, XK_2, { toggleview }, { .i = 1 } }, \ - { MODKEY|ControlMask, XK_3, { toggleview }, { .i = 2 } }, \ - { MODKEY|ControlMask, XK_4, { toggleview }, { .i = 3 } }, \ - { MODKEY|ShiftMask, XK_q, { quit }, { 0 } }, \ + { MODKEY, XK_j, focusnext, { 0 } }, \ + { MODKEY, XK_k, focusprev, { 0 } }, \ + { MODKEY, XK_Return, zoom, { 0 } }, \ + { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ + { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ + { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ + { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ + { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ + { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \ + { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \ + { MODKEY, XK_space, togglemode, { 0 } }, \ + { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \ + { MODKEY, XK_0, viewall, { 0 } }, \ + { MODKEY, XK_1, view, { .i = 0 } }, \ + { MODKEY, XK_2, view, { .i = 1 } }, \ + { MODKEY, XK_3, view, { .i = 2 } }, \ + { MODKEY, XK_4, view, { .i = 3 } }, \ + { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \ + { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \ + { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \ + { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \ + { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ }; #define RULES \ diff -r 1477b61ec8d4 -r 732c58a3d92d config.default.h --- a/config.default.h Mon Nov 27 17:46:02 2006 +0100 +++ b/config.default.h Mon Nov 27 17:49:58 2006 +0100 @@ -19,43 +19,42 @@ #define MASTER 600 /* per thousand */ #define MODKEY Mod1Mask -#define NFUNCS 1 /* number of funcs per key */ #define SNAP 20 /* pixel */ #define KEYS \ static Key key[] = { \ - /* modifier key functions arguments */ \ - { MODKEY|ShiftMask, XK_Return, { spawn }, { .cmd = "exec xterm" } }, \ - { MODKEY, XK_Tab, { focusnext }, { 0 } }, \ - { MODKEY|ShiftMask, XK_Tab, { focusprev }, { 0 } }, \ - { MODKEY, XK_Return, { zoom }, { 0 } }, \ - { MODKEY, XK_g, { resizemaster }, { .i = 15 } }, \ - { MODKEY, XK_s, { resizemaster }, { .i = -15 } }, \ - { MODKEY|ShiftMask, XK_1, { tag }, { .i = 0 } }, \ - { MODKEY|ShiftMask, XK_2, { tag }, { .i = 1 } }, \ - { MODKEY|ShiftMask, XK_3, { tag }, { .i = 2 } }, \ - { MODKEY|ShiftMask, XK_4, { tag }, { .i = 3 } }, \ - { MODKEY|ShiftMask, XK_5, { tag }, { .i = 4 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_1, { toggletag }, { .i = 0 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_2, { toggletag }, { .i = 1 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_3, { toggletag }, { .i = 2 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_4, { toggletag }, { .i = 3 } }, \ - { MODKEY|ControlMask|ShiftMask, XK_5, { toggletag }, { .i = 4 } }, \ - { MODKEY|ShiftMask, XK_c, { killclient }, { 0 } }, \ - { MODKEY, XK_space, { togglemode }, { 0 } }, \ - { MODKEY|ShiftMask, XK_space, { togglefloat }, { 0 } }, \ - { MODKEY, XK_0, { viewall }, { 0 } }, \ - { MODKEY, XK_1, { view }, { .i = 0 } }, \ - { MODKEY, XK_2, { view }, { .i = 1 } }, \ - { MODKEY, XK_3, { view }, { .i = 2 } }, \ - { MODKEY, XK_4, { view }, { .i = 3 } }, \ - { MODKEY, XK_5, { view }, { .i = 4 } }, \ - { MODKEY|ControlMask, XK_1, { toggleview }, { .i = 0 } }, \ - { MODKEY|ControlMask, XK_2, { toggleview }, { .i = 1 } }, \ - { MODKEY|ControlMask, XK_3, { toggleview }, { .i = 2 } }, \ - { MODKEY|ControlMask, XK_4, { toggleview }, { .i = 3 } }, \ - { MODKEY|ControlMask, XK_5, { toggleview }, { .i = 4 } }, \ - { MODKEY|ShiftMask, XK_q, { quit }, { 0 } }, \ + /* modifier key function argument */ \ + { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "exec xterm" } }, \ + { MODKEY, XK_Tab, focusnext, { 0 } }, \ + { MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \ + { MODKEY, XK_Return, zoom, { 0 } }, \ + { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ + { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ + { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ + { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ + { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ + { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \ + { MODKEY|ShiftMask, XK_5, tag, { .i = 4 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \ + { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, { .i = 4 } }, \ + { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \ + { MODKEY, XK_space, togglemode, { 0 } }, \ + { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \ + { MODKEY, XK_0, viewall, { 0 } }, \ + { MODKEY, XK_1, view, { .i = 0 } }, \ + { MODKEY, XK_2, view, { .i = 1 } }, \ + { MODKEY, XK_3, view, { .i = 2 } }, \ + { MODKEY, XK_4, view, { .i = 3 } }, \ + { MODKEY, XK_5, view, { .i = 4 } }, \ + { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \ + { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \ + { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \ + { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \ + { MODKEY|ControlMask, XK_5, toggleview, { .i = 4 } }, \ + { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ }; /* Query class:instance:title for regex matching info with following command: diff -r 1477b61ec8d4 -r 732c58a3d92d event.c --- a/event.c Mon Nov 27 17:46:02 2006 +0100 +++ b/event.c Mon Nov 27 17:49:58 2006 +0100 @@ -11,7 +11,7 @@ typedef struct { unsigned long mod; KeySym keysym; - void (*func[NFUNCS])(Arg *arg); + void (*func)(Arg *arg); Arg arg; } Key; @@ -245,7 +245,7 @@ static void keypress(XEvent *e) { static unsigned int len = sizeof key / sizeof key[0]; - unsigned int i, j; + unsigned int i; KeySym keysym; XKeyEvent *ev = &e->xkey; @@ -254,9 +254,8 @@ if(keysym == key[i].keysym && CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) { - for(j = 0; j < NFUNCS; j++) - if(key[i].func[j]) - key[i].func[j](&key[i].arg); + if(key[i].func) + key[i].func(&key[i].arg); return; } }