some other small fixes
This commit is contained in:
parent
0fe52c63ea
commit
2ffdc1936c
6
event.c
6
event.c
|
@ -254,14 +254,16 @@ keypress(XEvent *e)
|
|||
XKeyEvent *ev = &e->xkey;
|
||||
|
||||
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
|
||||
for(i = 0; i < len; i++)
|
||||
for(i = 0; i < len; i++) {
|
||||
if(keysym == key[i].keysym &&
|
||||
CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) {
|
||||
CLEANMASK(key[i].mod) == CLEANMASK(ev->state))
|
||||
{
|
||||
if(key[i].func)
|
||||
key[i].func(&key[i].arg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
leavenotify(XEvent *e)
|
||||
|
|
16
main.c
16
main.c
|
@ -196,6 +196,7 @@ main(int argc, char *argv[])
|
|||
|
||||
XSetErrorHandler(NULL);
|
||||
xerrorxlib = XSetErrorHandler(xerror);
|
||||
XSync(dpy, False);
|
||||
|
||||
/* init atoms */
|
||||
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
|
||||
|
@ -269,13 +270,6 @@ main(int argc, char *argv[])
|
|||
if(i < 0)
|
||||
eprint("select failed\n");
|
||||
else if(i > 0) {
|
||||
if(FD_ISSET(xfd, &rd)) {
|
||||
while(XPending(dpy)) {
|
||||
XNextEvent(dpy, &ev);
|
||||
if(handler[ev.type])
|
||||
(handler[ev.type])(&ev); /* call handler */
|
||||
}
|
||||
}
|
||||
if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
|
||||
readin = NULL != fgets(stext, sizeof(stext), stdin);
|
||||
if(readin)
|
||||
|
@ -284,9 +278,15 @@ main(int argc, char *argv[])
|
|||
strcpy(stext, "broken pipe");
|
||||
drawstatus();
|
||||
}
|
||||
if(FD_ISSET(xfd, &rd)) {
|
||||
while(XPending(dpy)) {
|
||||
XNextEvent(dpy, &ev);
|
||||
if(handler[ev.type])
|
||||
(handler[ev.type])(&ev); /* call handler */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cleanup();
|
||||
XCloseDisplay(dpy);
|
||||
|
||||
|
|
Loading…
Reference in a new issue