5 #include "dwm.h" |
5 #include "dwm.h" |
6 |
6 |
7 #include <stdlib.h> |
7 #include <stdlib.h> |
8 #include <X11/keysym.h> |
8 #include <X11/keysym.h> |
9 #include <X11/Xatom.h> |
9 #include <X11/Xatom.h> |
10 |
|
11 #define ButtonMask (ButtonPressMask | ButtonReleaseMask) |
|
12 #define MouseMask (ButtonMask | PointerMotionMask) |
|
13 |
10 |
14 /* CUSTOMIZE */ |
11 /* CUSTOMIZE */ |
15 |
12 |
16 typedef struct { |
13 typedef struct { |
17 unsigned long mod; |
14 unsigned long mod; |
18 KeySym keysym; |
15 KeySym keysym; |
19 void (*func)(Arg *arg); |
16 void (*func)(Arg *arg); |
20 Arg arg; |
17 Arg arg; |
21 } Key; |
18 } Key; |
22 |
19 |
23 /* |
|
24 const char *browse[] = { "firefox", NULL }; |
20 const char *browse[] = { "firefox", NULL }; |
25 const char *gimp[] = { "gimp", NULL }; |
21 const char *gimp[] = { "gimp", NULL }; |
26 */ |
22 const char *term[] = { /*"xterm", NULL };*/ |
27 const char *term[] = { "xterm", NULL }; |
|
28 /* |
|
29 "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", |
23 "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", |
30 "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL |
24 "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL |
31 }; |
25 }; |
32 const char *xlock[] = { "xlock", NULL }; |
26 const char *xlock[] = { "xlock", NULL }; |
33 */ |
|
34 |
27 |
35 static Key key[] = { |
28 static Key key[] = { |
36 /* modifier key function arguments */ |
29 /* modifier key function arguments */ |
37 { MODKEY, XK_0, view, { .i = Tfnord } }, |
30 { MODKEY, XK_0, view, { .i = Tfnord } }, |
38 { MODKEY, XK_1, view, { .i = Tdev } }, |
31 { MODKEY, XK_1, view, { .i = Tdev } }, |
55 { MODKEY|ShiftMask, XK_3, replacetag, { .i = Twork } }, |
48 { MODKEY|ShiftMask, XK_3, replacetag, { .i = Twork } }, |
56 { MODKEY|ShiftMask, XK_4, replacetag, { .i = Tmisc } }, |
49 { MODKEY|ShiftMask, XK_4, replacetag, { .i = Tmisc } }, |
57 { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, |
50 { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, |
58 { MODKEY|ShiftMask, XK_q, quit, { 0 } }, |
51 { MODKEY|ShiftMask, XK_q, quit, { 0 } }, |
59 { MODKEY|ShiftMask, XK_Return, spawn, { .argv = term } }, |
52 { MODKEY|ShiftMask, XK_Return, spawn, { .argv = term } }, |
60 /* |
|
61 { MODKEY|ShiftMask, XK_g, spawn, { .argv = gimp } }, |
53 { MODKEY|ShiftMask, XK_g, spawn, { .argv = gimp } }, |
62 { MODKEY|ShiftMask, XK_l, spawn, { .argv = xlock } }, |
54 { MODKEY|ShiftMask, XK_l, spawn, { .argv = xlock } }, |
63 { MODKEY|ShiftMask, XK_w, spawn, { .argv = browse } }, |
55 { MODKEY|ShiftMask, XK_w, spawn, { .argv = browse } }, |
64 */ |
|
65 }; |
56 }; |
66 |
57 |
67 /* END CUSTOMIZE */ |
58 /* END CUSTOMIZE */ |
68 |
59 |
69 /* static */ |
60 /* static */ |
245 enternotify(XEvent *e) |
237 enternotify(XEvent *e) |
246 { |
238 { |
247 Client *c; |
239 Client *c; |
248 XCrossingEvent *ev = &e->xcrossing; |
240 XCrossingEvent *ev = &e->xcrossing; |
249 |
241 |
250 if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) |
242 if(ev->detail == NotifyInferior) |
251 return; |
243 return; |
252 |
244 |
253 if((c = getclient(ev->window))) |
245 if((c = getclient(ev->window))) |
254 focus(c); |
246 focus(c); |
255 else if(ev->window == root) |
247 else if(ev->window == root) |