X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=7b8793fa8bc0e28aaa0a59e3d3c7bf943a7dc643;hb=281c1edb4206b7e7874990b1bd5f66e1e7e43ede;hp=e265f4deabbad83e6aadf94cbb0b898f3ca1089f;hpb=cfce6b8f4d432f804f1e6d5c972a35df56ec0df0;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index e265f4de..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); + client_configure(client, x, y, w, h, FALSE, TRUE); - /* don't create enter events from clients moving themselves */ - grab_pointer(FALSE, FALSE, OB_CURSOR_NONE); - client_configure_full(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_full(client, x, y, w, h, FALSE, TRUE); - ungrab_pointer(); + client_configure(client, x, y, w, h, FALSE, TRUE); + + /* 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,