+
+ if(!toplevel_window) return;
+
+ // send a dummy X11 event, because the event loop may be waiting
+ // and the timeout proc is only called when an event is processed
+ XClientMessageEvent event;
+ memset(&event, 0, sizeof(XClientMessageEvent));
+ event.type = ClientMessage;
+ event.window = XtWindow(toplevel_window);
+ event.format = 32;
+ XSendEvent(display, XtWindow(toplevel_window), 0, 0, (XEvent*)&event);
+ XFlush(display);