all repos — openbox @ 3fcba81510c98ac517afbab0ba60ced3d30f202f

openbox fork - make it a bit more like ryudo

save teh client for interactive actions cuz after teh keyboard is grabbed there is no client
Dana Jansens danakj@orodu.net
commit

3fcba81510c98ac517afbab0ba60ced3d30f202f

parent

fbbc4c55ba865fb582f195eab4cdcc63090b0a5b

3 files changed, 6 insertions(+), 4 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -488,7 +488,7 @@ {

if (menu_frame_visible) event_handle_menu(e); else { - if (!keyboard_process_interactive_grab(e)) { + if (!keyboard_process_interactive_grab(e, &client)) { if (moveresize_in_progress) moveresize_event(e);
M openbox/keyboard.copenbox/keyboard.c

@@ -157,7 +157,7 @@

interactive_states = g_slist_append(interactive_states, s); } -gboolean keyboard_process_interactive_grab(const XEvent *e) +gboolean keyboard_process_interactive_grab(const XEvent *e, ObClient **client) { GSList *it, *next; gboolean handled = FALSE;

@@ -192,7 +192,8 @@ keyboard_reset_chains();

} handled = TRUE; - } + } else + *client = s->client; } return handled;
M openbox/keyboard.hopenbox/keyboard.h

@@ -22,7 +22,8 @@ void keyboard_reset_chains();

void keyboard_interactive_grab(guint state, struct _ObClient *client, struct _ObAction *action); -gboolean keyboard_process_interactive_grab(const XEvent *e); +gboolean keyboard_process_interactive_grab(const XEvent *e, + struct _ObClient **client); void keyboard_grab_for_client(struct _ObClient *c, gboolean grab);