diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-04-22 15:22:25 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-04-22 15:22:25 +0000 |
| commit | 27773e1cb7492de080bd19189b4fcd2a6b9a0e9e (patch) | |
| tree | 8bacdfc836ddb9d8da398e5981061fb578641b80 /openbox/event.c | |
| parent | 4c672be2e1f39e72eb7d7e99f129e61338f481b2 (diff) | |
don't grab the pointer during interactive events. this allows you to alt-tab during a dnd.
Diffstat (limited to 'openbox/event.c')
| -rw-r--r-- | openbox/event.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/openbox/event.c b/openbox/event.c index 871b158a..502d1962 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -590,9 +590,10 @@ static void event_process(const XEvent *ec, gpointer data) NULL, g_direct_equal, NULL); if (e->type == ButtonPress || e->type == ButtonRelease || - e->type == MotionNotify) - mouse_event(client, e); - else if (e->type == KeyPress) { + e->type == MotionNotify) { + if (!keyboard_interactively_grabbed()) + mouse_event(client, e); + } else if (e->type == KeyPress) { keyboard_event((focus_cycle_target ? focus_cycle_target : (focus_hilite ? focus_hilite : client)), e); @@ -762,6 +763,8 @@ static void event_handle_client(ObClient *client, XEvent *e) frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_FRAME: + if (keyboard_interactively_grabbed()) + break; if (config_focus_follow && config_focus_delay) ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func, @@ -803,6 +806,8 @@ static void event_handle_client(ObClient *client, XEvent *e) frame_adjust_state(client->frame); break; case OB_FRAME_CONTEXT_FRAME: + if (keyboard_interactively_grabbed()) + break; if (e->xcrossing.mode == NotifyGrab || e->xcrossing.mode == NotifyUngrab) { |
