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);
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;
}
handled = TRUE;
- }
+ } else
+ *client = s->client;
}
return handled;
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);