void x11_finish(void);
int x11_events_queued(void);
-bool x11_events_await(unsigned int ms);
void x11_events_take(void);
void x11_mouse_get(int* x, int* y);
return XEventsQueued(X.display, QueuedAfterFlush);
}
-bool x11_events_await(unsigned int ms) {
- fd_set fds;
- int xfd = ConnectionNumber(X.display), redraw = 1;
- /* configure for 100ms timeout */
- struct timeval tv = { .tv_usec = ms * 1000 };
- FD_ZERO(&fds);
- FD_SET(xfd, &fds);
- return (select(xfd+1, &fds, NULL, NULL, &tv) > 0);
-}
-
void x11_events_take(void) {
XEvent e;
int nevents;