From 3e6d6b348fd856d161aab98f5024e2293c292bd9 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 29 Jun 2015 16:00:43 -0400 Subject: [PATCH] trigger fake mouse-out on clients when unsetting focus this will allow a more reasonable determination of pointer location when attempting to apply mouse-based focus policies --- src/bin/e_client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 20f9e5e76..e76d17d7b 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3467,6 +3467,8 @@ e_client_focused_set(E_Client *ec) ec_unfocus->want_focus = ec_unfocus->focused = 0; if (!e_object_is_del(E_OBJECT(ec_unfocus))) e_focus_event_focus_out(ec_unfocus); + if (ec_unfocus->mouse.in) + e_client_mouse_out(ec_unfocus, ec_unfocus->x - 1, ec_unfocus->y - 1); E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del);