exit(0);
}
if (!strcmp(argv[i], "-v") || !strcmp(argv[i], "--version")) {
- printf("tint2 version 0.7.svn\n");
+ printf("tint2 version 0.8\n");
exit(0);
}
if (!strcmp(argv[i], "-c")) {
// Wait for X Event or a Timer
if (pselect(max_fd+1, &fdset, 0, 0, 0, &empty_mask) > 0) {
+ // we need to iterate over the whole timer list, since fd_set can only be checked with the
+ // brute force method FD_ISSET for every possible timer
+ timer_iter = timer_list;
+ while (timer_iter) {
+ timer = timer_iter->data;
+ if (FD_ISSET(timer->id, &fdset)) {
+ uint64_t dummy;
+ if ( -1 != read(timer->id, &dummy, sizeof(uint64_t)) )
+ timer->_callback();
+ }
+ timer_iter = timer_iter->next;
+ }
+
while (XPending (server.dsp)) {
XNextEvent(server.dsp, &e);
if (!g_tooltip.enabled) break;
Panel* panel = get_panel(e.xmotion.window);
Area* area = click_area(panel, e.xmotion.x, e.xmotion.y);
- if (area->_get_tooltip_text) {
+ if (area->_get_tooltip_text)
tooltip_trigger_show(area, panel, e.xmotion.x_root, e.xmotion.y_root);
- }
else
tooltip_trigger_hide();
break;
break;
}
}
-
- // we need to iterate over the whole timer list, since fd_set can only be checked with the
- // brute force method FD_ISSET for every possible timer
- timer_iter = timer_list;
- while (timer_iter) {
- timer = timer_iter->data;
- if (FD_ISSET(timer->id, &fdset)) {
- uint64_t dummy;
-//printf("reading from timer->id=%d\n", timer->id);
- read(timer->id, &dummy, sizeof(uint64_t));
-//printf("Callback timer->_callback\n");
- timer->_callback();
-//printf("Timer callback finished\n");
- }
- timer_iter = timer_iter->next;
- }
}
switch (signal_pending) {