SHA256
1
0
forked from pool/xfwm4

Accepting request 84071 from X11:xfce

- added xfwm4-4.8.1-fix-panel-plugins-not-receiving-focus.patch in
  order to fix panel plugins not receiving focus in focus follow
  mouse mode (backported from upstream git)
- added xfwm4-4.8.1-always-initialize-display-session.patch which
  ensures the display struct's session member is always initialized
  in order to prevent crashes when quitting (backported from
  upstream git)

OBS-URL: https://build.opensuse.org/request/show/84071
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfwm4?expand=0&rev=34
This commit is contained in:
Sascha Peilicke 2011-09-21 15:29:45 +00:00 committed by Git OBS Bridge
commit fc99770e16
4 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,17 @@
diff --git a/src/session.c b/src/session.c
index e46407c..1c75ea5 100644
--- a/src/session.c
+++ b/src/session.c
@@ -762,11 +762,10 @@ sessionStart (DisplayInfo *display_info)
session = xfce_sm_client_get ();
xfce_sm_client_set_restart_style (session, XFCE_SM_CLIENT_RESTART_IMMEDIATELY);
xfce_sm_client_set_priority (session, XFCE_SM_CLIENT_PRIORITY_WM);
+ display_info->session = session;
if (xfce_sm_client_connect(session, &error))
{
- display_info->session = session;
-
if (xfce_sm_client_is_resumed (session))
sessionLoad (display_info);

View File

@ -0,0 +1,24 @@
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);
--
cgit

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Tue Sep 20 14:00:02 UTC 2011 - gber@opensuse.org
- added xfwm4-4.8.1-fix-panel-plugins-not-receiving-focus.patch in
order to fix panel plugins not receiving focus in focus follow
mouse mode (backported from upstream git)
- added xfwm4-4.8.1-always-initialize-display-session.patch which
ensures the display struct's session member is always initialized
in order to prevent crashes when quitting (backported from
upstream git)
-------------------------------------------------------------------
Fri Feb 18 14:22:31 UTC 2011 - gber@opensuse.org

View File

@ -30,6 +30,10 @@ Source2: COPYING.Sonar
Source3: Gilouche-xfwm4.tar.bz2
Source4: COPYING.Gilouche
Source5: xfwm4.xml
# PATCH-FIX-UPSTREAM xfwm4-4.8.1-fix-panel-plugins-not-receiving-focus.patch bxo#6617 bxo#6649 gber@opensuse.org -- Fix panel plugins not receiving focus in focus follow mouse mode (backported from upstream git)
Patch0: xfwm4-4.8.1-fix-panel-plugins-not-receiving-focus.patch
# PATCH-FIX-UPSTREAM xfwm4-4.8.1-always-initialize-display-session.patch gber@opensuse.org -- Ensure the display struct's session member is always initialized in order to prevent crashes when quitting (backported from upstream git)
Patch1: xfwm4-4.8.1-always-initialize-display-session.patch
BuildRequires: fdupes
BuildRequires: intltool
BuildRequires: pkgconfig(gtk+-2.0)
@ -72,6 +76,8 @@ This package provides the upstream look and feel for the xfwm4 window manager.
%prep
%setup -q -a1 -a3
%patch0 -p1
%patch1 -p1
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"