X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=plugins%2Ffocus.c;h=8a43c75993d64e0bee85409f8157c7ab2e619acd;hb=a7705024c6a9934123e8249143671b08483f47cd;hp=d4ce4b9b5c3fa850cfc82d55dda227b5fae8af08;hpb=648c55b829e09c66222a9bbf08d10434622feae2;p=chaz%2Fopenbox diff --git a/plugins/focus.c b/plugins/focus.c index d4ce4b9b..8a43c759 100644 --- a/plugins/focus.c +++ b/plugins/focus.c @@ -21,9 +21,13 @@ static void focus_fallback(guint desk, gboolean warp) doesn't skip briefly to what was under the pointer */ if (XCheckTypedEvent(ob_display, EnterNotify, &e)) { XPutBackEvent(ob_display, &e); + /* XXX WERE NOT SKIPPING THEM ALL@&*)! */ + g_message("Skip"); ++skip_enter; } + /* I have to do this warp twice! Otherwise windows dont get + Enter/Leave events when i warp on a desktop switch! */ XWarpPointer(ob_display, None, c->window, 0, 0, 0, 0, c->area.width / 2, c->area.height / 2); XWarpPointer(ob_display, None, c->window, 0, 0, 0, 0, @@ -43,7 +47,6 @@ static void events(ObEvent *e, void *foo) break; case Event_Ob_Desktop: - g_message("Desktop Switch"); /* focus the next available target */ focus_fallback(e->data.o.num[0], TRUE); break; @@ -58,12 +61,7 @@ static void events(ObEvent *e, void *foo) */ break; - case Event_X_LeaveNotify: - g_message("Leave: %lx", e->data.x.client ? e->data.x.client->window : 0); - break; - case Event_X_EnterNotify: - g_message("Enter: %lx", e->data.x.client ? e->data.x.client->window : 0); if (skip_enter) --skip_enter; else if (e->data.x.client && client_normal(e->data.x.client)) @@ -80,8 +78,7 @@ void plugin_startup() dispatch_register(Event_Client_Mapped | Event_Ob_Desktop | Event_Client_Unfocus | - Event_X_EnterNotify | - Event_X_LeaveNotify, + Event_X_EnterNotify, (EventHandler)events, NULL); }