summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-17 02:21:22 +0000
committerDana Jansens <danakj@orodu.net>2007-05-17 02:21:22 +0000
commit281c1edb4206b7e7874990b1bd5f66e1e7e43ede (patch)
treec001525c68f1120ecc5ecf61b58f8a88bab53eee /openbox/event.c
parentb1076c93330d98d93bf6b775f90dca78daf3a1a3 (diff)
kill enter events without using pointer grabs
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 6a5e3540..7b8793fa 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1082,11 +1082,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (config) {
client_find_onscreen(client, &x, &y, w, h, FALSE);
-
- /* don't create enter events from clients moving themselves */
- grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
client_configure(client, x, y, w, h, FALSE, TRUE);
- ungrab_pointer();
+
+ /* ignore enter events caused by these like ob actions do */
+ event_ignore_queued_enters();
}
break;
}
@@ -1180,6 +1179,9 @@ static void event_handle_client(ObClient *client, XEvent *e)
client->window);
client_set_state(client, e->xclient.data.l[0],
e->xclient.data.l[1], e->xclient.data.l[2]);
+
+ /* ignore enter events caused by these like ob actions do */
+ event_ignore_queued_enters();
} else if (msgtype == prop_atoms.net_close_window) {
ob_debug("net_close_window for 0x%lx\n", client->window);
client_close(client);
@@ -1264,10 +1266,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
client_convert_gravity(client, grav, &x, &y, w, h);
client_find_onscreen(client, &x, &y, w, h, FALSE);
- /* don't create enter events from clients moving themselves */
- grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
client_configure(client, x, y, w, h, FALSE, TRUE);
- ungrab_pointer();
+
+ /* ignore enter events caused by these like ob actions do */
+ event_ignore_queued_enters();
} else if (msgtype == prop_atoms.net_restack_window) {
if (e->xclient.data.l[0] != 2) {
ob_debug_type(OB_DEBUG_APP_BUGS,