[Xfce4-commits] <xfwm4:master> Refix panel plugins such as verve not receiving focus in focus follow mouse mode (bug #6617, bug #6649).
Olivier Fourdan
noreply at xfce.org
Mon Sep 12 10:42:02 CEST 2011
Updating branch refs/heads/master
to fd8b46355bcb7b38978929463c4fbf55c1a6934a (commit)
from b1decacb73ec0274c7916e2d28f0d60ef15f7a21 (commit)
commit fd8b46355bcb7b38978929463c4fbf55c1a6934a
Author: Olivier Fourdan <fourdan at xfce.org>
Date: Mon Sep 12 10:38:41 2011 +0200
Refix panel plugins such as verve not receiving focus in focus follow mouse mode (bug #6617, bug #6649).
src/client.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/src/client.c b/src/client.c
index 6fe0715..7ab1664 100644
--- a/src/client.c
+++ b/src/client.c
@@ -2607,8 +2607,16 @@ clientActivate (Client * c, guint32 timestamp, gboolean source_is_application)
}
clientRaise (sibling, None);
clientShow (sibling, TRUE);
- if (source_is_application || screen_info->params->click_to_focus)
+ if (source_is_application || screen_info->params->click_to_focus || (c->type & WINDOW_TYPE_DONT_FOCUS))
{
+ /*
+ It's a bit tricky here, we want to honor the activate request only if:
+
+ - The window use the _NET_ACTIVE_WINDOW protocol and identify itself as an application,
+ - Or we use the click to focus model, in that case we focus the raised window anyway,
+ - Or the request comes from an application that we would not focus by default,
+ such as panels for example
+ */
clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG);
}
clientSetLastRaise (c);
More information about the Xfce4-commits
mailing list