summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/event.c2
-rw-r--r--openbox/keyboard.c5
-rw-r--r--openbox/keyboard.h3
3 files changed, 6 insertions, 4 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 79d35077..2d47fd32 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -488,7 +488,7 @@ static void event_process(const XEvent *ec, gpointer data)
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);
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index fe13c97b..d044ba5c 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -157,7 +157,7 @@ void keyboard_interactive_grab(guint state, ObClient *client,
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 @@ gboolean keyboard_process_interactive_grab(const XEvent *e)
}
handled = TRUE;
- }
+ } else
+ *client = s->client;
}
return handled;
diff --git a/openbox/keyboard.h b/openbox/keyboard.h
index 61fe19e0..cf190d45 100644
--- a/openbox/keyboard.h
+++ b/openbox/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);