Mercurial > aewl
comparison event.c @ 143:36cabfe408cd
applied Sanders patches
author | arg@10ksloc.org |
---|---|
date | Tue, 01 Aug 2006 12:32:33 +0200 |
parents | 22213b9a2114 |
children | e61447a7f249 |
comparison
equal
deleted
inserted
replaced
142:9b9deafa0508 | 143:36cabfe408cd |
---|---|
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 */ |
170 view(&a); | 161 view(&a); |
171 break; | 162 break; |
172 } | 163 } |
173 } | 164 } |
174 else if((c = getclient(ev->window))) { | 165 else if((c = getclient(ev->window))) { |
166 focus(c); | |
175 switch(ev->button) { | 167 switch(ev->button) { |
176 default: | 168 default: |
177 break; | 169 break; |
178 case Button1: | 170 case Button1: |
179 if(!c->ismax && (arrange == dofloat || c->isfloat)) { | 171 if(!c->ismax && (arrange == dofloat || c->isfloat)) { |
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) |