Index: trunk/Ohana/src/kapa/event/EventLoop.c
===================================================================
--- trunk/Ohana/src/kapa/event/EventLoop.c	(revision 3465)
+++ trunk/Ohana/src/kapa/event/EventLoop.c	(revision 3695)
@@ -1,3 +1,5 @@
 # include "Ximage.h"
+
+# define IgnoreMask (long) (ButtonPressMask | ClientMessage | ButtonReleaseMask | KeyPressMask | PointerMotionMask)
 
 int LastEvent (Display *display, int type, XEvent *event) {
@@ -26,5 +28,5 @@
     
     if (XEventsQueued (graphic.display, QueuedAfterFlush) < 1) {
-      usleep (10000);
+      usleep (50000);
       continue;
     }
@@ -32,9 +34,20 @@
     display = graphic.display;
 
-    /* only do the last entry for these events */
-    /* this ignores the return status from these functions */
+    /* grab the last entry for these events */
     if (LastEvent (display, ConfigureNotify, &event)) Reconfig (&event);
+    if (LastEvent (display, CirculateNotify, &event)) Reconfig (&event);
     if (LastEvent (display, Expose,          &event)) Refresh (1);
+
     if (LastEvent (display, MappingNotify,   &event)) XRefreshKeyboardMapping ((XMappingEvent *) &event);
+
+    /* drop and ignore the following StructureNotifyMask events */
+    LastEvent (display, GravityNotify, &event);
+    LastEvent (display, ReparentNotify, &event);
+    LastEvent (display, MapNotify, &event);
+    LastEvent (display, UnmapNotify, &event);
+
+    /* remove those events we will ignore */
+    while (XCheckMaskEvent (display, IgnoreMask, &event)) continue;
+      
   }
   return (status);
