X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fkeyboard.c;h=248fd1ce0dd4bdf682152a371476fe92b2e95b8e;hb=48f237203b8766e7d13af3f6e2d5deecc14b6651;hp=f8872938f0cf1a64ed34925400615bf00c1876bf;hpb=4d50b21835d7dd00ecc40efd64c5573d7e048500;p=chaz%2Fopenbox diff --git a/openbox/keyboard.c b/openbox/keyboard.c index f8872938..248fd1ce 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -166,7 +166,7 @@ gboolean keyboard_interactive_grab(guint state, ObClient *client, if (!interactive_states) { if (!grab_keyboard(TRUE)) return FALSE; - if (!grab_pointer(TRUE, OB_CURSOR_NONE)) { + if (!grab_pointer(TRUE, FALSE, OB_CURSOR_NONE)) { grab_keyboard(FALSE); return FALSE; } @@ -184,9 +184,9 @@ gboolean keyboard_interactive_grab(guint state, ObClient *client, } void keyboard_interactive_end(ObInteractiveState *s, - guint state, gboolean cancel) + guint state, gboolean cancel, Time time) { - action_run_interactive(s->actions, s->client, state, cancel, TRUE); + action_run_interactive(s->actions, s->client, state, time, cancel, TRUE); g_slist_free(s->actions); g_free(s); @@ -195,7 +195,7 @@ void keyboard_interactive_end(ObInteractiveState *s, if (!interactive_states) { grab_keyboard(FALSE); - grab_pointer(FALSE, OB_CURSOR_NONE); + grab_pointer(FALSE, FALSE, OB_CURSOR_NONE); keyboard_reset_chains(); } } @@ -236,7 +236,7 @@ gboolean keyboard_process_interactive_grab(const XEvent *e, ObClient **client) cancel = done = TRUE; } if (done) { - keyboard_interactive_end(s, e->xkey.state, cancel); + keyboard_interactive_end(s, e->xkey.state, cancel, e->xkey.time); handled = TRUE; } else @@ -271,7 +271,8 @@ void keyboard_event(ObClient *client, const XEvent *e) ob_main_loop_timeout_remove(ob_main_loop, chain_timeout); /* 5 second timeout for chains */ ob_main_loop_timeout_add(ob_main_loop, 5 * G_USEC_PER_SEC, - chain_timeout, NULL, NULL); + chain_timeout, NULL, + g_direct_equal, NULL); grab_keys(FALSE); curpos = p; grab_keys(TRUE); @@ -280,7 +281,8 @@ void keyboard_event(ObClient *client, const XEvent *e) keyboard_reset_chains(); action_run_key(p->actions, client, e->xkey.state, - e->xkey.x_root, e->xkey.y_root); + e->xkey.x_root, e->xkey.y_root, + e->xkey.time); } break; }