]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
place at 0,0 if the window is too big
[chaz/openbox] / openbox / event.c
index 00b2857cc43ff83fa26057f3f0b49a2081a7f96b..0cf9cf1475fd52c49770595aa543b6528706177c 100644 (file)
@@ -12,6 +12,7 @@
 #include "hooks.h"
 #include "extensions.h"
 #include "timer.h"
+#include "engine.h"
 
 #include <X11/Xlib.h>
 #include <X11/keysym.h>
@@ -249,8 +250,6 @@ void event_process(XEvent *e)
     case EnterNotify:
     case LeaveNotify:
        event_lasttime = e->xcrossing.time;
-       if (e->xcrossing.mode != NotifyNormal)
-           return; /* skip me! */
        break;
     }
 
@@ -286,13 +285,25 @@ void event_process(XEvent *e)
     /* dispatch Crossing, Pointer and Key events to the hooks */
     switch(e->type) {
     case EnterNotify:
+        if (client != NULL) engine_mouse_enter(client->frame, window);
        HOOKFIRECLIENT(pointerenter, client);
        break;
     case LeaveNotify:
+        if (client != NULL) engine_mouse_leave(client->frame, window);
        HOOKFIRECLIENT(pointerleave, client);
        break;
     case ButtonPress:
+        if (client != NULL) 
+            engine_mouse_press(client->frame, window,
+                               e->xbutton.x, e->xbutton.y);
+       pointer_event(e, client);
+        break;
     case ButtonRelease:
+        if (client != NULL)
+            engine_mouse_release(client->frame, window,
+                                 e->xbutton.x, e->xbutton.y);
+       pointer_event(e, client);
+        break;
     case MotionNotify:
        pointer_event(e, client);
        break;
This page took 0.028372 seconds and 4 git commands to generate.