]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
update which files have translatable strings
[chaz/openbox] / openbox / event.c
index 6480855e7553d7f4959897a3ae87b10297f73a9c..f71fdf57b07e1689b7e588be6da45c4a1127c528 100644 (file)
@@ -17,7 +17,6 @@
 #include "stacking.h"
 #include "extensions.h"
 #include "timer.h"
-#include "dispatch.h"
 #include "event.h"
 
 #include <X11/Xlib.h>
@@ -523,45 +522,29 @@ static void event_process(XEvent *e)
        xerror_set_ignore(FALSE);
     }
 
-    if (menu_frame_visible)
-        if (e->type == MotionNotify || e->type == ButtonRelease ||
-            e->type == ButtonPress ||
-            e->type == KeyPress || e->type == KeyRelease) {
-            event_handle_menu(e);
-
-            return; /* no dispatch! */
-        }
-
-    if (moveresize_in_progress)
-        if (e->type == MotionNotify || e->type == ButtonRelease ||
-            e->type == ButtonPress ||
-            e->type == KeyPress || e->type == KeyRelease) {
-            moveresize_event(e);
-
-            return; /* no dispatch! */
-        }
-
     /* user input (action-bound) events */
     if (e->type == ButtonPress || e->type == ButtonRelease ||
         e->type == MotionNotify || e->type == KeyPress ||
         e->type == KeyRelease)
     {
-        ObFrameContext context;
-
-        context = frame_context(client, e->xany.window);
+        if (menu_frame_visible)
+            event_handle_menu(e);
+        else if (moveresize_in_progress)
+            moveresize_event(e);
+        else {
+            ObFrameContext context;
 
-        if (!keyboard_process_interactive_grab(e, &client, &context)) {
+            context = frame_context(client, e->xany.window);
 
-            if (e->type == ButtonPress || e->type == ButtonRelease ||
-                e->type == MotionNotify)
-                mouse_event(client, context, e);
-            else if (e->type == KeyPress)
-                keyboard_event(client, e);
+            if (!keyboard_process_interactive_grab(e, &client, &context)) {
+                if (e->type == ButtonPress || e->type == ButtonRelease ||
+                    e->type == MotionNotify)
+                    mouse_event(client, context, e);
+                else if (e->type == KeyPress)
+                    keyboard_event(client, e);
+            }
         }
     }
-
-    /* dispatch the event to registered handlers */
-    dispatch_x(e, client);
 }
 
 static void event_handle_root(XEvent *e)
@@ -1102,14 +1085,15 @@ static void find_max_fd()
 #endif
 }
 
-void event_remove_fd(int n)
+void event_remove_fd(gint n)
 {
     FD_CLR(n, &allset);
     g_datalist_id_remove_data(&fd_handler_list, (GQuark)n);
     find_max_fd();
 }
 
-static void fd_event_handle_foreach(GQuark n, gpointer data, gpointer user_data)
+static void fd_event_handle_foreach(GQuark n,
+                                    gpointer data, gpointer user_data)
 {
     if (FD_ISSET( (int)n, &selset)) {
         event_fd_handler *h = (event_fd_handler *)data;
@@ -1170,21 +1154,22 @@ static void event_handle_menu(XEvent *ev)
 
     switch (ev->type) {
     case ButtonRelease:
-        if (!(f = menu_frame_under(ev->xmotion.x_root,
-                                   ev->xmotion.y_root)))
+        if (!(f = menu_frame_under(ev->xbutton.x_root,
+                                   ev->xbutton.y_root)))
             menu_frame_hide_all();
         else {
-            if ((e = menu_entry_frame_under(ev->xmotion.x_root,
-                                            ev->xmotion.y_root)))
-                menu_entry_frame_execute(e);
+            if ((e = menu_entry_frame_under(ev->xbutton.x_root,
+                                            ev->xbutton.y_root)))
+                menu_entry_frame_execute(e,
+                                         !(ev->xbutton.state & ControlMask));
         }
         break;
     case MotionNotify:
         if ((f = menu_frame_under(ev->xmotion.x_root,
                                   ev->xmotion.y_root))) {
             menu_frame_move_on_screen(f);
-            if (e = menu_entry_frame_under(ev->xmotion.x_root,
-                                           ev->xmotion.y_root))
+            if ((e = menu_entry_frame_under(ev->xmotion.x_root,
+                                            ev->xmotion.y_root)))
                 menu_frame_select(f, e);
         }
         break;
This page took 0.02436 seconds and 4 git commands to generate.