[Xfce4-commits] <xfwm4:xfce-4.6> Place windows on top of stack even when not focused in focus follow mouse. (patch by Clifford Jolly<cliff at cliffjolly.com>).
Olivier Fourdan
noreply at xfce.org
Tue Nov 17 12:52:03 CET 2009
Updating branch refs/heads/xfce-4.6
to 20844436440f2c6276c5a9829bc6913795e00e14 (commit)
from a23b56de10d343c94abce299764d5a5786f7b0b6 (commit)
commit 20844436440f2c6276c5a9829bc6913795e00e14
Author: Olivier Fourdan <fourdan.olivier at wanadoo.fr>
Date: Wed Jul 22 08:16:40 2009 +0000
Place windows on top of stack even when not focused in focus follow mouse.
(patch by Clifford Jolly<cliff at cliffjolly.com>).
(Old svn revision: 30377)
ChangeLog | 2 +-
src/client.c | 10 ++++++----
src/client.h | 3 ++-
src/events.c | 4 ++--
themes/default/menu-active.png | Bin 97 -> 109 bytes
themes/default/menu-inactive.png | Bin 97 -> 109 bytes
themes/default/menu-prelight.png | Bin 97 -> 109 bytes
themes/default/menu-pressed.png | Bin 97 -> 109 bytes
8 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7b93a0c..4e84a9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-2009-07-27 olivier
+2009-07-19 olivier
* src/focus.c: Place windows on top of stack even when not focused in
focus follow mouse (Bug #5479).
diff --git a/src/client.c b/src/client.c
index 829fe99..00b2270 100644
--- a/src/client.c
+++ b/src/client.c
@@ -873,7 +873,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
}
else
{
- clientActivate (c, getXServerTime (display_info));
+ clientActivate (c, getXServerTime (display_info), TRUE);
}
}
}
@@ -2545,7 +2545,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;
@@ -2578,8 +2578,10 @@ clientActivate (Client * c, guint32 timestamp)
}
clientRaise (sibling, None);
clientShow (sibling, TRUE);
- clientClearAllShowDesktop (screen_info);
- 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 07027c8..58e0e51 100644
--- a/src/client.h
+++ b/src/client.h
@@ -389,7 +389,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/events.c b/src/events.c
index d3614b8..8af6d54 100644
--- a/src/events.c
+++ b/src/events.c
@@ -2097,13 +2097,13 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev)
}
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);
}
}
else if (ev->message_type == display_info->atoms[NET_REQUEST_FRAME_EXTENTS])
diff --git a/themes/default/menu-active.png b/themes/default/menu-active.png
index 5de6127..1877667 100644
Binary files a/themes/default/menu-active.png and b/themes/default/menu-active.png differ
diff --git a/themes/default/menu-inactive.png b/themes/default/menu-inactive.png
index 5de6127..1877667 100644
Binary files a/themes/default/menu-inactive.png and b/themes/default/menu-inactive.png differ
diff --git a/themes/default/menu-prelight.png b/themes/default/menu-prelight.png
index 5de6127..1877667 100644
Binary files a/themes/default/menu-prelight.png and b/themes/default/menu-prelight.png differ
diff --git a/themes/default/menu-pressed.png b/themes/default/menu-pressed.png
index 5de6127..1877667 100644
Binary files a/themes/default/menu-pressed.png and b/themes/default/menu-pressed.png differ
More information about the Xfce4-commits
mailing list