Introduction
Introduction Statistics Contact Development Disclaimer Help
tchanging Key.func into Key.func[NFUNCS], this allows sequences execution of fu…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 19390b1a91da680a502ce5acebd086cfbe32627c
parent 8dc86051df197792d35521743cc2cb72b60a47ff
Author: arg@mig29 <unknown>
Date: Mon, 27 Nov 2006 13:21:38 +0100
changing Key.func into Key.func[NFUNCS], this allows sequences execution of fun…
Diffstat:
M config.arg.h | 63 ++++++++++++++++-------------…
M config.default.h | 69 ++++++++++++++++-------------…
M event.c | 9 +++++----
3 files changed, 72 insertions(+), 69 deletions(-)
---
diff --git a/config.arg.h b/config.arg.h
t@@ -17,45 +17,46 @@ const char *tags[] = { "dev", "work", "net", "fnord", NULL…
#define STATUSBGCOLOR "#222222"
#define STATUSFGCOLOR "#99ccff"
-#define MASTER 600 /* per thousand */
+#define MASTER 600 /* per thousand */
#define MODKEY Mod1Mask
-#define SNAP 40 /* pixel */
+#define NFUNCS 1 /* number of funcs per …
+#define SNAP 40 /* pixel */
#define KEYS \
static Key key[] = { \
- /* modifier key function …
- { MODKEY|ShiftMask, XK_Return, spawn, \
+ /* modifier key functions …
+ { MODKEY|ShiftMask, XK_Return, { spawn }, \
{ .cmd = "exec urxvtc -tr -bg black -fg '#eeeeee' -cr '#eeeeee…
- { MODKEY, XK_p, spawn, \
+ { MODKEY, XK_p, { spawn }, \
{ .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u "…
" | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -norm…
"-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exe…
- { MODKEY, XK_j, focusnext, …
- { MODKEY, XK_k, focusprev, …
- { MODKEY, XK_Return, zoom, …
- { MODKEY, XK_g, resizemaster, …
- { MODKEY, XK_s, resizemaster, …
- { MODKEY|ShiftMask, XK_1, tag, …
- { MODKEY|ShiftMask, XK_2, tag, …
- { MODKEY|ShiftMask, XK_3, tag, …
- { MODKEY|ShiftMask, XK_4, tag, …
- { MODKEY|ControlMask|ShiftMask, XK_1, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_2, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_3, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_4, toggletag,…
- { MODKEY|ShiftMask, XK_c, killclient, …
- { MODKEY, XK_space, togglemode, {…
- { MODKEY|ShiftMask, XK_space, togglefloat, …
- { MODKEY, XK_0, viewall, …
- { MODKEY, XK_1, view, …
- { MODKEY, XK_2, view, …
- { MODKEY, XK_3, view, …
- { MODKEY, XK_4, view, …
- { MODKEY|ControlMask, XK_1, toggleview, …
- { MODKEY|ControlMask, XK_2, toggleview, …
- { MODKEY|ControlMask, XK_3, toggleview, …
- { MODKEY|ControlMask, XK_4, toggleview, …
- { MODKEY|ShiftMask, XK_q, quit, …
+ { MODKEY, XK_j, { focusnext }, …
+ { MODKEY, XK_k, { focusprev }, …
+ { MODKEY, XK_Return, { zoom }, …
+ { MODKEY, XK_g, { resizemaster }…
+ { MODKEY, XK_s, { resizemaster }…
+ { MODKEY|ShiftMask, XK_1, { tag }, …
+ { MODKEY|ShiftMask, XK_2, { tag }, …
+ { MODKEY|ShiftMask, XK_3, { tag }, …
+ { MODKEY|ShiftMask, XK_4, { tag }, …
+ { MODKEY|ControlMask|ShiftMask, XK_1, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_2, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_3, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_4, { toggleta…
+ { MODKEY|ShiftMask, XK_c, { killclient }…
+ { MODKEY, XK_space, { togglemode }, …
+ { MODKEY|ShiftMask, XK_space, { togglefloat }, …
+ { MODKEY, XK_0, { viewall }, …
+ { MODKEY, XK_1, { view }, …
+ { MODKEY, XK_2, { view }, …
+ { MODKEY, XK_3, { view }, …
+ { MODKEY, XK_4, { view }, …
+ { MODKEY|ControlMask, XK_1, { toggleview…
+ { MODKEY|ControlMask, XK_2, { toggleview…
+ { MODKEY|ControlMask, XK_3, { toggleview…
+ { MODKEY|ControlMask, XK_4, { toggleview…
+ { MODKEY|ShiftMask, XK_q, { quit }, …
};
#define RULES \
diff --git a/config.default.h b/config.default.h
t@@ -17,44 +17,45 @@ const char *tags[] = { "1", "2", "3", "4", "5", NULL };
#define STATUSBGCOLOR "#dddddd"
#define STATUSFGCOLOR "#222222"
-#define MASTER 600 /* per thousand */
+#define MASTER 600 /* per thousand */
#define MODKEY Mod1Mask
-#define SNAP 20 /* pixel */
+#define NFUNCS 1 /* number of funcs per …
+#define SNAP 20 /* pixel */
#define KEYS \
static Key key[] = { \
- /* modifier key function …
- { MODKEY|ShiftMask, XK_Return, spawn, …
- { MODKEY, XK_Tab, focusnext, …
- { MODKEY|ShiftMask, XK_Tab, focusprev, …
- { MODKEY, XK_Return, zoom, …
- { MODKEY, XK_g, resizemaster, …
- { MODKEY, XK_s, resizemaster, …
- { MODKEY|ShiftMask, XK_1, tag, …
- { MODKEY|ShiftMask, XK_2, tag, …
- { MODKEY|ShiftMask, XK_3, tag, …
- { MODKEY|ShiftMask, XK_4, tag, …
- { MODKEY|ShiftMask, XK_5, tag, …
- { MODKEY|ControlMask|ShiftMask, XK_1, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_2, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_3, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_4, toggletag,…
- { MODKEY|ControlMask|ShiftMask, XK_5, toggletag,…
- { MODKEY|ShiftMask, XK_c, killclient, …
- { MODKEY, XK_space, togglemode, {…
- { MODKEY|ShiftMask, XK_space, togglefloat, …
- { MODKEY, XK_0, viewall, …
- { MODKEY, XK_1, view, …
- { MODKEY, XK_2, view, …
- { MODKEY, XK_3, view, …
- { MODKEY, XK_4, view, …
- { MODKEY, XK_5, view, …
- { MODKEY|ControlMask, XK_1, toggleview, …
- { MODKEY|ControlMask, XK_2, toggleview, …
- { MODKEY|ControlMask, XK_3, toggleview, …
- { MODKEY|ControlMask, XK_4, toggleview, …
- { MODKEY|ControlMask, XK_5, toggleview, …
- { MODKEY|ShiftMask, XK_q, quit, …
+ /* modifier key functions …
+ { MODKEY|ShiftMask, XK_Return, { spawn }, …
+ { MODKEY, XK_Tab, { focusnext },…
+ { MODKEY|ShiftMask, XK_Tab, { focusprev …
+ { MODKEY, XK_Return, { zoom }, …
+ { MODKEY, XK_g, { resizemaster }…
+ { MODKEY, XK_s, { resizemaster }…
+ { MODKEY|ShiftMask, XK_1, { tag }, …
+ { MODKEY|ShiftMask, XK_2, { tag }, …
+ { MODKEY|ShiftMask, XK_3, { tag }, …
+ { MODKEY|ShiftMask, XK_4, { tag }, …
+ { MODKEY|ShiftMask, XK_5, { tag }, …
+ { MODKEY|ControlMask|ShiftMask, XK_1, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_2, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_3, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_4, { toggleta…
+ { MODKEY|ControlMask|ShiftMask, XK_5, { toggleta…
+ { MODKEY|ShiftMask, XK_c, { killclient }…
+ { MODKEY, XK_space, { togglemode }, …
+ { MODKEY|ShiftMask, XK_space, { togglefloat }, …
+ { MODKEY, XK_0, { viewall }, …
+ { MODKEY, XK_1, { view }, …
+ { MODKEY, XK_2, { view }, …
+ { MODKEY, XK_3, { view }, …
+ { MODKEY, XK_4, { view }, …
+ { MODKEY, XK_5, { view }, …
+ { MODKEY|ControlMask, XK_1, { toggleview…
+ { MODKEY|ControlMask, XK_2, { toggleview…
+ { MODKEY|ControlMask, XK_3, { toggleview…
+ { MODKEY|ControlMask, XK_4, { toggleview…
+ { MODKEY|ControlMask, XK_5, { toggleview…
+ { MODKEY|ShiftMask, XK_q, { quit }, …
};
/* Query class:instance:title for regex matching info with following command:
diff --git a/event.c b/event.c
t@@ -11,7 +11,7 @@
typedef struct {
unsigned long mod;
KeySym keysym;
- void (*func)(Arg *arg);
+ void (*func[NFUNCS])(Arg *arg);
Arg arg;
} Key;
t@@ -245,7 +245,7 @@ expose(XEvent *e) {
static void
keypress(XEvent *e) {
static unsigned int len = sizeof key / sizeof key[0];
- unsigned int i;
+ unsigned int i, j;
KeySym keysym;
XKeyEvent *ev = &e->xkey;
t@@ -254,8 +254,9 @@ keypress(XEvent *e) {
if(keysym == key[i].keysym
&& CLEANMASK(key[i].mod) == CLEANMASK(ev->state))
{
- if(key[i].func)
- key[i].func(&key[i].arg);
+ for(j = 0; j < NFUNCS; j++)
+ if(key[i].func[j])
+ key[i].func[j](&key[i].arg);
return;
}
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.