summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
committerDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
commitc90da6da781932c2d178bfb7e39ec1d5003543b7 (patch)
treee9ed8a17f574701880fe73fcfbd872cdb4868c4d /openbox/event.c
parentcb49f853c9b62c4403eb562d39f52c51da292c4f (diff)
move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all. this is some hot shit.
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/openbox/event.c b/openbox/event.c
index b5e15a3c..97f01fb6 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -8,6 +8,8 @@
#include "screen.h"
#include "frame.h"
#include "menu.h"
+#include "keyboard.h"
+#include "mouse.h"
#include "framerender.h"
#include "focus.h"
#include "moveresize.h"
@@ -541,13 +543,23 @@ static void event_process(XEvent *e)
}
/* user input (action-bound) events */
- /*
if (e->type == ButtonPress || e->type == ButtonRelease ||
- e->type == MotionNotify)
- mouse_event(e, client);
- else if (e->type == KeyPress || e->type == KeyRelease)
- ;
- */
+ e->type == MotionNotify || e->type == KeyPress ||
+ e->type == KeyRelease)
+ {
+ ObFrameContext context;
+
+ context = frame_context(client, e->xany.window);
+
+ 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);