[Xfce4-commits] <xfwm4:xfce-4.8> 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:44:02 CEST 2011
Updating branch refs/heads/xfce-4.8
to 1d23a0d781e8c23cdc3b1c3a136b148f9a448c2c (commit)
from 0f80fca9277fccd5351fafa64ba884d632fe0c43 (commit)
commit 1d23a0d781e8c23cdc3b1c3a136b148f9a448c2c
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 a7cd5f7..64bd2e7 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