diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2011-09-12 10:18:33 +0200 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2011-09-12 10:18:33 +0200 |
commit | b1decacb73ec0274c7916e2d28f0d60ef15f7a21 (patch) | |
tree | 4ccad7e0c15e63036f83bc4df3be0d3203a8fc81 /src | |
parent | 3f76f971e61fa781c1eb2c43b0411c4148ec4275 (diff) | |
download | xfwm4-b1decacb73ec0274c7916e2d28f0d60ef15f7a21.tar.gz |
Revert "Fix panel plugins such as verve not receiving focus in focus follow mouse mode (bug #6617)."
This reverts commit 3f76f971e61fa781c1eb2c43b0411c4148ec4275.
Diffstat (limited to 'src')
-rw-r--r-- | src/client.c | 9 | ||||
-rw-r--r-- | src/client.h | 3 | ||||
-rw-r--r-- | src/netwm.c | 4 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/client.c b/src/client.c index 68fcf759f..6fe07151d 100644 --- a/src/client.c +++ b/src/client.c @@ -883,7 +883,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask) } else { - clientActivate (c, getXServerTime (display_info)); + clientActivate (c, getXServerTime (display_info), FALSE); } } } @@ -2569,7 +2569,7 @@ clientToggleShowDesktop (ScreenInfo *screen_info) } void -clientActivate (Client * c, guint32 timestamp) +clientActivate (Client * c, guint32 timestamp, gboolean source_is_application) { ScreenInfo *screen_info; Client *focused; @@ -2607,7 +2607,10 @@ clientActivate (Client * c, guint32 timestamp) } clientRaise (sibling, None); clientShow (sibling, TRUE); - clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG); + if (source_is_application || screen_info->params->click_to_focus) + { + clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG); + } clientSetLastRaise (c); } else diff --git a/src/client.h b/src/client.h index 6b501a6db..10137f7a9 100644 --- a/src/client.h +++ b/src/client.h @@ -392,7 +392,8 @@ void clientWithdrawAll (Client *, void clientClearAllShowDesktop (ScreenInfo *); void clientToggleShowDesktop (ScreenInfo *); void clientActivate (Client *, - guint32); + guint32, + gboolean); void clientClose (Client *); void clientKill (Client *); void clientTerminate (Client *); diff --git a/src/netwm.c b/src/netwm.c index f95567c49..fcd6123d6 100644 --- a/src/netwm.c +++ b/src/netwm.c @@ -1401,13 +1401,13 @@ clientHandleNetActiveWindow (Client *c, guint32 timestamp, gboolean source_is_ap } else { - clientActivate (c, ev_time); + clientActivate (c, ev_time, source_is_application); } } else { /* The request is either from a pager or an older client, use the most accurate timestamp */ - clientActivate (c, getXServerTime (display_info)); + clientActivate (c, getXServerTime (display_info), source_is_application); } } |