Mercurial > aewl
comparison event.c @ 123:61490330e90a
cleaned up code
author | arg@10ksloc.org |
---|---|
date | Thu, 20 Jul 2006 12:18:06 +0200 |
parents | eb3165734f00 |
children | 75576e44c1d8 |
comparison
equal
deleted
inserted
replaced
122:f20cea484900 | 123:61490330e90a |
---|---|
18 KeySym keysym; | 18 KeySym keysym; |
19 void (*func)(Arg *arg); | 19 void (*func)(Arg *arg); |
20 Arg arg; | 20 Arg arg; |
21 } Key; | 21 } Key; |
22 | 22 |
23 /* | |
24 const char *browse[] = { "firefox", NULL }; | 23 const char *browse[] = { "firefox", NULL }; |
25 const char *gimp[] = { "gimp", NULL }; | 24 const char *gimp[] = { "gimp", NULL }; |
26 */ | 25 const char *term[] = { |
27 const char *term[] = { "xterm", NULL }; | |
28 /* | |
29 "urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", | 26 "urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", |
30 "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL | 27 "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL |
31 }; | 28 }; |
32 coonst char *xlock[] = { "xlock", NULL }; | 29 const char *xlock[] = { "xlock", NULL }; |
33 */ | |
34 | 30 |
35 static Key key[] = { | 31 static Key key[] = { |
36 /* modifier key function arguments */ | 32 /* modifier key function arguments */ |
37 { ControlMask, XK_0, appendtag, { .i = Tscratch } }, | 33 { ControlMask, XK_0, appendtag, { .i = Tscratch } }, |
38 { ControlMask, XK_1, appendtag, { .i = Tdev } }, | 34 { ControlMask, XK_1, appendtag, { .i = Tdev } }, |
39 { ControlMask, XK_2, appendtag, { .i = Twww } }, | 35 { ControlMask, XK_2, appendtag, { .i = Twww } }, |
40 { ControlMask, XK_3, appendtag, { .i = Twork } }, | 36 { ControlMask, XK_3, appendtag, { .i = Twork } }, |
41 { MODKEY, XK_0, view, { .i = Tscratch } }, | 37 { MODKEY, XK_0, view, { .i = Tscratch } }, |
42 { MODKEY, XK_1, view, { .i = Tdev } }, | 38 { MODKEY, XK_1, view, { .i = Tdev } }, |
43 { MODKEY, XK_2, view, { .i = Twww } }, | 39 { MODKEY, XK_2, view, { .i = Twww } }, |
44 { MODKEY, XK_3, view, { .i = Twork } }, | 40 { MODKEY, XK_3, view, { .i = Twork } }, |
45 { MODKEY, XK_j, focusnext, { 0 } }, | 41 { MODKEY, XK_j, focusnext, { 0 } }, |
46 { MODKEY, XK_k, focusprev, { 0 } }, | 42 { MODKEY, XK_k, focusprev, { 0 } }, |
47 { MODKEY, XK_m, maximize, { 0 } }, | 43 { MODKEY, XK_m, maximize, { 0 } }, |
48 { MODKEY, XK_space, dotile, { 0 } }, | 44 { MODKEY, XK_space, dotile, { 0 } }, |
49 { MODKEY, XK_Return, zoom, { 0 } }, | 45 { MODKEY, XK_Return, zoom, { 0 } }, |
50 { ControlMask|ShiftMask,XK_0, heretag, { .i = Tscratch } }, | 46 { ControlMask|ShiftMask,XK_0, heretag, { .i = Tscratch } }, |
51 { ControlMask|ShiftMask,XK_1, heretag, { .i = Tdev } }, | 47 { ControlMask|ShiftMask,XK_1, heretag, { .i = Tdev } }, |
52 { ControlMask|ShiftMask,XK_2, heretag, { .i = Twww } }, | 48 { ControlMask|ShiftMask,XK_2, heretag, { .i = Twww } }, |
53 { ControlMask|ShiftMask,XK_3, heretag, { .i = Twork } }, | 49 { ControlMask|ShiftMask,XK_3, heretag, { .i = Twork } }, |
54 { MODKEY|ShiftMask, XK_0, replacetag, { .i = Tscratch } }, | 50 { MODKEY|ShiftMask, XK_0, replacetag, { .i = Tscratch } }, |
55 { MODKEY|ShiftMask, XK_1, replacetag, { .i = Tdev } }, | 51 { MODKEY|ShiftMask, XK_1, replacetag, { .i = Tdev } }, |
56 { MODKEY|ShiftMask, XK_2, replacetag, { .i = Twww } }, | 52 { MODKEY|ShiftMask, XK_2, replacetag, { .i = Twww } }, |
57 { MODKEY|ShiftMask, XK_3, replacetag, { .i = Twork } }, | 53 { MODKEY|ShiftMask, XK_3, replacetag, { .i = Twork } }, |
58 { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, | 54 { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, |
59 /* | 55 { MODKEY|ShiftMask, XK_g, spawn, { .argv = gimp } }, |
60 { MODKEY|ShiftMask, XK_g, spawn, { .argv = gimp } }, | 56 { MODKEY|ShiftMask, XK_l, spawn, { .argv = xlock } }, |
61 { MODKEY|ShiftMask, XK_l, spawn, { .argv = xlock } }, | 57 { MODKEY|ShiftMask, XK_q, quit, { 0 } }, |
62 */ | 58 { MODKEY|ShiftMask, XK_space, dofloat, { 0 } }, |
63 { MODKEY|ShiftMask, XK_q, quit, { 0 } }, | 59 { MODKEY|ShiftMask, XK_w, spawn, { .argv = browse } }, |
64 { MODKEY|ShiftMask, XK_space, dofloat, { 0 } }, | 60 { MODKEY|ShiftMask, XK_Return, spawn, { .argv = term } }, |
65 /*{ MODKEY|ShiftMask, XK_w, spawn, { .argv = browse } },*/ | |
66 { MODKEY|ShiftMask, XK_Return, spawn, { .argv = term } }, | |
67 }; | 61 }; |
68 | 62 |
69 /* static */ | 63 /* static */ |
70 | 64 |
71 static void | 65 static void |
72 movemouse(Client *c) | 66 movemouse(Client *c) |
73 { | 67 { |
74 XEvent ev; | |
75 int x1, y1, ocx, ocy, di; | 68 int x1, y1, ocx, ocy, di; |
76 unsigned int dui; | 69 unsigned int dui; |
77 Window dummy; | 70 Window dummy; |
71 XEvent ev; | |
78 | 72 |
79 ocx = c->x; | 73 ocx = c->x; |
80 ocy = c->y; | 74 ocy = c->y; |
81 if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, | 75 if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, |
82 None, cursor[CurMove], CurrentTime) != GrabSuccess) | 76 None, cursor[CurMove], CurrentTime) != GrabSuccess) |
83 return; | 77 return; |
84 XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); | 78 XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); |
85 for(;;) { | 79 for(;;) { |
86 XMaskEvent(dpy, MouseMask | ExposureMask, &ev); | 80 XMaskEvent(dpy, MouseMask | ExposureMask, &ev); |
87 switch (ev.type) { | 81 switch (ev.type) { |
103 } | 97 } |
104 | 98 |
105 static void | 99 static void |
106 resizemouse(Client *c) | 100 resizemouse(Client *c) |
107 { | 101 { |
108 XEvent ev; | |
109 int ocx, ocy; | 102 int ocx, ocy; |
110 Corner sticky; | 103 Corner sticky; |
104 XEvent ev; | |
111 | 105 |
112 ocx = c->x; | 106 ocx = c->x; |
113 ocy = c->y; | 107 ocy = c->y; |
114 if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, | 108 if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, |
115 None, cursor[CurResize], CurrentTime) != GrabSuccess) | 109 None, cursor[CurResize], CurrentTime) != GrabSuccess) |
144 static void | 138 static void |
145 buttonpress(XEvent *e) | 139 buttonpress(XEvent *e) |
146 { | 140 { |
147 int x; | 141 int x; |
148 Arg a; | 142 Arg a; |
143 Client *c; | |
149 XButtonPressedEvent *ev = &e->xbutton; | 144 XButtonPressedEvent *ev = &e->xbutton; |
150 Client *c; | |
151 | 145 |
152 if(barwin == ev->window) { | 146 if(barwin == ev->window) { |
153 switch(ev->button) { | 147 switch(ev->button) { |
154 default: | 148 default: |
155 x = 0; | 149 x = 0; |
199 } | 193 } |
200 | 194 |
201 static void | 195 static void |
202 configurerequest(XEvent *e) | 196 configurerequest(XEvent *e) |
203 { | 197 { |
198 Client *c; | |
204 XConfigureRequestEvent *ev = &e->xconfigurerequest; | 199 XConfigureRequestEvent *ev = &e->xconfigurerequest; |
205 XWindowChanges wc; | 200 XWindowChanges wc; |
206 Client *c; | |
207 | 201 |
208 ev->value_mask &= ~CWSibling; | 202 ev->value_mask &= ~CWSibling; |
209 if((c = getclient(ev->window))) { | 203 if((c = getclient(ev->window))) { |
210 gravitate(c, True); | 204 gravitate(c, True); |
211 if(ev->value_mask & CWX) | 205 if(ev->value_mask & CWX) |
246 } | 240 } |
247 | 241 |
248 static void | 242 static void |
249 enternotify(XEvent *e) | 243 enternotify(XEvent *e) |
250 { | 244 { |
245 Client *c; | |
251 XCrossingEvent *ev = &e->xcrossing; | 246 XCrossingEvent *ev = &e->xcrossing; |
252 Client *c; | |
253 | 247 |
254 if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) | 248 if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) |
255 return; | 249 return; |
256 | 250 |
257 if((c = getclient(ev->window))) | 251 if((c = getclient(ev->window))) |
261 } | 255 } |
262 | 256 |
263 static void | 257 static void |
264 expose(XEvent *e) | 258 expose(XEvent *e) |
265 { | 259 { |
260 Client *c; | |
266 XExposeEvent *ev = &e->xexpose; | 261 XExposeEvent *ev = &e->xexpose; |
267 Client *c; | |
268 | 262 |
269 if(ev->count == 0) { | 263 if(ev->count == 0) { |
270 if(barwin == ev->window) | 264 if(barwin == ev->window) |
271 drawstatus(); | 265 drawstatus(); |
272 else if((c = getctitle(ev->window))) | 266 else if((c = getctitle(ev->window))) |
275 } | 269 } |
276 | 270 |
277 static void | 271 static void |
278 keypress(XEvent *e) | 272 keypress(XEvent *e) |
279 { | 273 { |
280 XKeyEvent *ev = &e->xkey; | |
281 static unsigned int len = key ? sizeof(key) / sizeof(key[0]) : 0; | 274 static unsigned int len = key ? sizeof(key) / sizeof(key[0]) : 0; |
282 unsigned int i; | 275 unsigned int i; |
283 KeySym keysym; | 276 KeySym keysym; |
277 XKeyEvent *ev = &e->xkey; | |
284 | 278 |
285 keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | 279 keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); |
286 for(i = 0; i < len; i++) | 280 for(i = 0; i < len; i++) |
287 if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { | 281 if((keysym == key[i].keysym) && (key[i].mod == ev->state)) { |
288 if(key[i].func) | 282 if(key[i].func) |
301 } | 295 } |
302 | 296 |
303 static void | 297 static void |
304 maprequest(XEvent *e) | 298 maprequest(XEvent *e) |
305 { | 299 { |
300 static XWindowAttributes wa; | |
306 XMapRequestEvent *ev = &e->xmaprequest; | 301 XMapRequestEvent *ev = &e->xmaprequest; |
307 static XWindowAttributes wa; | |
308 | 302 |
309 if(!XGetWindowAttributes(dpy, ev->window, &wa)) | 303 if(!XGetWindowAttributes(dpy, ev->window, &wa)) |
310 return; | 304 return; |
311 | 305 |
312 if(wa.override_redirect) { | 306 if(wa.override_redirect) { |
320 } | 314 } |
321 | 315 |
322 static void | 316 static void |
323 propertynotify(XEvent *e) | 317 propertynotify(XEvent *e) |
324 { | 318 { |
319 Client *c; | |
320 Window trans; | |
325 XPropertyEvent *ev = &e->xproperty; | 321 XPropertyEvent *ev = &e->xproperty; |
326 Window trans; | |
327 Client *c; | |
328 | 322 |
329 if(ev->state == PropertyDelete) | 323 if(ev->state == PropertyDelete) |
330 return; /* ignore */ | 324 return; /* ignore */ |
331 | 325 |
332 if((c = getclient(ev->window))) { | 326 if((c = getclient(ev->window))) { |