some other small fixes

keyboard
Anselm R.Garbe 19 years ago
parent 0fe52c63ea
commit 2ffdc1936c
  1. 6
      event.c
  2. 16
      main.c

@ -254,13 +254,15 @@ 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

@ -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…
Cancel
Save