author | Anselm R. Garbe <garbeam@wmii.de> |
Thu, 13 Jul 2006 10:05:46 +0200 | |
changeset 39 | 0932ed0753dc |
parent 34 | cd30cce52b78 |
permissions | -rw-r--r-- |
8 | 1 |
/* |
2 |
* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
|
3 |
* See LICENSE file for license details. |
|
4 |
*/ |
|
5 |
||
6 |
#include "wm.h" |
|
7 |
||
8 |
#include <X11/keysym.h> |
|
9 |
||
31 | 10 |
/********** CUSTOMIZE **********/ |
11 |
||
33
e90449e03167
new stuff (some warning elimination)
Anselm R. Garbe <garbeam@wmii.de>
parents:
32
diff
changeset
|
12 |
const char *term[] = { |
29 | 13 |
"aterm", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn", |
31 | 14 |
"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL |
14 | 15 |
}; |
34 | 16 |
const char *browse[] = { "firefox", NULL }; |
14 | 17 |
|
8 | 18 |
static Key key[] = { |
33
e90449e03167
new stuff (some warning elimination)
Anselm R. Garbe <garbeam@wmii.de>
parents:
32
diff
changeset
|
19 |
{ Mod1Mask, XK_Return, (void (*)(void *))spawn, term }, |
34 | 20 |
{ Mod1Mask, XK_w, (void (*)(void *))spawn, browse }, |
27
f96fb3fd8203
added grid mode on Mod1Mask g
Anselm R. Garbe <garbeam@wmii.de>
parents:
23
diff
changeset
|
21 |
{ Mod1Mask, XK_k, sel, "prev" }, |
f96fb3fd8203
added grid mode on Mod1Mask g
Anselm R. Garbe <garbeam@wmii.de>
parents:
23
diff
changeset
|
22 |
{ Mod1Mask, XK_j, sel, "next" }, |
34 | 23 |
{ Mod1Mask, XK_space, toggle, NULL }, |
28 | 24 |
{ Mod1Mask, XK_m, max, NULL }, |
32 | 25 |
{ Mod1Mask | ShiftMask, XK_c, ckill, NULL }, |
27
f96fb3fd8203
added grid mode on Mod1Mask g
Anselm R. Garbe <garbeam@wmii.de>
parents:
23
diff
changeset
|
26 |
{ Mod1Mask | ShiftMask, XK_q, quit, NULL }, |
8 | 27 |
}; |
28 |
||
31 | 29 |
/********** CUSTOMIZE **********/ |
30 |
||
8 | 31 |
void |
33
e90449e03167
new stuff (some warning elimination)
Anselm R. Garbe <garbeam@wmii.de>
parents:
32
diff
changeset
|
32 |
update_keys(void) |
8 | 33 |
{ |
34 |
unsigned int i, len; |
|
35 |
KeyCode code; |
|
36 |
||
37 |
len = sizeof(key) / sizeof(key[0]); |
|
38 |
for(i = 0; i < len; i++) { |
|
39 |
code = XKeysymToKeycode(dpy, key[i].keysym); |
|
40 |
XUngrabKey(dpy, code, key[i].mod, root); |
|
41 |
XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync); |
|
42 |
} |
|
43 |
} |
|
9
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
44 |
|
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
45 |
void |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
46 |
keypress(XEvent *e) |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
47 |
{ |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
48 |
XKeyEvent *ev = &e->xkey; |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
49 |
unsigned int i, len; |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
50 |
KeySym keysym; |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
51 |
|
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
52 |
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
53 |
len = sizeof(key) / sizeof(key[0]); |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
54 |
for(i = 0; i < len; i++) |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
55 |
if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
56 |
if(key[i].func) |
14 | 57 |
key[i].func(key[i].aux); |
9
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
58 |
return; |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
59 |
} |
d567f430a81d
fixed several stuff (gridwm gets better and better)
Anselm R. Garbe <garbeam@wmii.de>
parents:
8
diff
changeset
|
60 |
} |