X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=event.c;h=4e240e2b605f084840697166ae2c74a416d8d3f2;hb=e40448fd6340620354d82d801d975eaa53dbd924;hp=4bedf18a71fc0b056e11a8fe165c46742e53ae3e;hpb=77044e876511f51c34bde379d89e2de754707ee6;p=dwm.git diff --git a/event.c b/event.c index 4bedf18..4e240e2 100644 --- a/event.c +++ b/event.c @@ -1,9 +1,9 @@ /* See LICENSE file for copyright and license details. */ #include "dwm.h" -#include #include #include #include +#include /* static */ @@ -14,8 +14,6 @@ typedef struct { const char *arg; } Key; -KEYS - #define CLEANMASK(mask) (mask & ~(numlockmask | LockMask)) #define MOUSEMASK (BUTTONMASK | PointerMotionMask) @@ -111,29 +109,26 @@ resizemouse(Client *c) { static void buttonpress(XEvent *e) { - static char buf[32]; unsigned int i, x; Client *c; XButtonPressedEvent *ev = &e->xbutton; - buf[0] = 0; if(barwin == ev->window) { x = 0; for(i = 0; i < ntags; i++) { x += textw(tags[i]); if(ev->x < x) { - snprintf(buf, sizeof buf, "%d", i); if(ev->button == Button1) { if(ev->state & MODKEY) - tag(buf); + tag(tags[i]); else - view(buf); + view(tags[i]); } else if(ev->button == Button3) { if(ev->state & MODKEY) - toggletag(buf); + toggletag(tags[i]); else - toggleview(buf); + toggleview(tags[i]); } return; } @@ -226,7 +221,7 @@ destroynotify(XEvent *e) { XDestroyWindowEvent *ev = &e->xdestroywindow; if((c = getclient(ev->window))) - unmanage(c); + unmanage(c, WithdrawnState); } static void @@ -256,7 +251,8 @@ expose(XEvent *e) { static void keypress(XEvent *e) { - static unsigned int len = sizeof key / sizeof key[0]; + KEYS + unsigned int len = sizeof key / sizeof key[0]; unsigned int i; KeySym keysym; XKeyEvent *ev = &e->xkey; @@ -338,7 +334,7 @@ unmapnotify(XEvent *e) { if((c = getclient(ev->window)) && (ev->event == root)) { if(ev->send_event || c->unmapped-- == 0) - unmanage(c); + unmanage(c, WithdrawnState); } } @@ -361,7 +357,8 @@ void (*handler[LASTEvent]) (XEvent *) = { void grabkeys(void) { - static unsigned int len = sizeof key / sizeof key[0]; + KEYS + unsigned int len = sizeof key / sizeof key[0]; unsigned int i; KeyCode code;