update time every min
This commit is contained in:
@@ -1384,10 +1384,41 @@ run(void)
|
||||
XEvent ev;
|
||||
/* main event loop */
|
||||
XSync(dpy, False);
|
||||
while (!XNextEvent(dpy, &ev))
|
||||
|
||||
int display_fd = ConnectionNumber(dpy);
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (handler[ev.type])
|
||||
handler[ev.type](&ev); /* call handler */
|
||||
// Wait until there is an XEvent
|
||||
fd_set waited_read_fds;
|
||||
FD_ZERO(&waited_read_fds);
|
||||
FD_SET(display_fd, &waited_read_fds);
|
||||
|
||||
struct timeval tv;
|
||||
tv.tv_sec = 60;
|
||||
tv.tv_usec = 0;
|
||||
|
||||
int fds_ready_count = select(display_fd + 1, &waited_read_fds, NULL, NULL, &tv);
|
||||
|
||||
if(fds_ready_count > 0)
|
||||
{
|
||||
// Event pending
|
||||
while(XPending(dpy))
|
||||
{
|
||||
XNextEvent(dpy, &ev);
|
||||
|
||||
if (handler[ev.type])
|
||||
handler[ev.type](&ev); /* call handler */
|
||||
}
|
||||
}
|
||||
else if(fds_ready_count == 0)
|
||||
{
|
||||
// timeout
|
||||
}
|
||||
else
|
||||
{
|
||||
// error
|
||||
}
|
||||
|
||||
vene_run();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user