Author: olivier
Date: 2007-03-13 21:13:35 +0000 (Tue, 13 Mar 2007)
New Revision: 25158

Modified:
   xfwm4/branches/xfce_4_4/ChangeLog
   xfwm4/branches/xfce_4_4/NEWS
   xfwm4/branches/xfce_4_4/defaults/defaults
   xfwm4/branches/xfce_4_4/doc/C/xfwm4.html
   xfwm4/branches/xfce_4_4/doc/C/xfwm4.xml
   xfwm4/branches/xfce_4_4/src/client.c
   xfwm4/branches/xfce_4_4/src/events.c
   xfwm4/branches/xfce_4_4/src/settings.c
   xfwm4/branches/xfce_4_4/src/settings.h
Log:
Add new hidden option to instruct xfwm4 not to bring window back on current 
workspace when activated (bug #2961)

Modified: xfwm4/branches/xfce_4_4/ChangeLog
===================================================================
--- xfwm4/branches/xfce_4_4/ChangeLog   2007-03-13 19:45:22 UTC (rev 25157)
+++ xfwm4/branches/xfce_4_4/ChangeLog   2007-03-13 21:13:35 UTC (rev 25158)
@@ -1,3 +1,98 @@
+2007-03-07 21:03  olivier
+
+       * src/client.c, src/netwm.c: Update frame extents when the window
+         decoration extents change.
+
+2007-03-07 21:01  olivier
+
+       * src/client.c: Fix a misinterpretation of ICCCM about when to send
+         a synthetic configureNotify event (bug #2977).
+
+2007-03-07 21:01  olivier
+
+       * src/netwm.c: Place splash screen windows on the normal layer, so
+         that dialogs that get mapped during startup have a chance to be
+         placed above the splash screen.
+
+2007-03-04 07:20  erenturkay
+
+       * po/tr.po: update Turkish translation
+
+2007-03-03 09:41  mvd
+
+       * po/uk.po: 2007-03-03 Maxim Dziumanenko <[EMAIL PROTECTED]>
+         
+         * Update Ukrainian translation.
+
+2007-03-02 21:35  olivier
+
+       * src/workspaces.c: Raise focused window on workspace switch (bug
+         #2960)
+
+2007-03-01 21:31  olivier
+
+       * src/events.c, src/misc.c, src/workspaces.c: Sort Z-order on
+         workspace change (bug #2960)
+
+2007-02-07 14:24  maximilian
+
+       * xfcalendar/branches/xfce_4_4/po/ChangeLog,
+         xfcalendar/branches/xfce_4_4/po/fr.po,
+         xfcalendar/branches/xfce_4_4/po/zh_CN.po,
+         xfce-utils/branches/xfce_4_4/po/ChangeLog,
+         xfce-utils/branches/xfce_4_4/po/zh_CN.po,
+         xfce4-panel/branches/xfce_4_4/po/ChangeLog,
+         xfce4-panel/branches/xfce_4_4/po/fr.po,
+         xfce4-panel/branches/xfce_4_4/po/zh_CN.po,
+         xfce4-session/branches/xfce_4_4/po/ChangeLog,
+         xfce4-session/branches/xfce_4_4/po/zh_CN.po,
+         xfdesktop/branches/xfce_4_4/po/ChangeLog,
+         xfdesktop/branches/xfce_4_4/po/fr.po,
+         xfdesktop/branches/xfce_4_4/po/zh_CN.po,
+         xfprint/branches/xfce_4_4/po/ChangeLog,
+         xfprint/branches/xfce_4_4/po/zh_CN.po, po/ChangeLog, po/zh_CN.po:
+         Updated the Chinese (simplified) translations by Wu Li and fixed
+         some accelerators in the French translations.
+
+2007-02-04 21:14  maximilian
+
+       * libxfce4util/branches/xfce_4_4/po/ChangeLog,
+         libxfce4util/branches/xfce_4_4/po/sq.po,
+         libxfcegui4/branches/xfce_4_4/po/ChangeLog,
+         libxfcegui4/branches/xfce_4_4/po/sq.po,
+         mousepad/branches/xfce_4_4/po/ChangeLog,
+         mousepad/branches/xfce_4_4/po/sq.po,
+         xfcalendar/branches/xfce_4_4/po/ChangeLog,
+         xfcalendar/branches/xfce_4_4/po/sq.po,
+         xfce-mcs-manager/branches/xfce_4_4/po/ChangeLog,
+         xfce-mcs-manager/branches/xfce_4_4/po/sq.po,
+         xfce-mcs-plugins/branches/xfce_4_4/po/ChangeLog,
+         xfce-mcs-plugins/branches/xfce_4_4/po/sq.po,
+         xfce-utils/branches/xfce_4_4/po/ChangeLog,
+         xfce-utils/branches/xfce_4_4/po/sq.po,
+         xfce4-appfinder/branches/xfce_4_4/po/ChangeLog,
+         xfce4-appfinder/branches/xfce_4_4/po/sq.po,
+         xfce4-icon-theme/branches/xfce_4_4/po/ChangeLog,
+         xfce4-icon-theme/branches/xfce_4_4/po/sq.po,
+         xfce4-mixer/branches/xfce_4_4/po/ChangeLog,
+         xfce4-mixer/branches/xfce_4_4/po/sq.po,
+         xfce4-panel/branches/xfce_4_4/po/ChangeLog,
+         xfce4-panel/branches/xfce_4_4/po/sq.po,
+         xfce4-session/branches/xfce_4_4/po/ChangeLog,
+         xfce4-session/branches/xfce_4_4/po/sq.po,
+         xfdesktop/branches/xfce_4_4/po/ChangeLog,
+         xfdesktop/branches/xfce_4_4/po/sq.po,
+         xfprint/branches/xfce_4_4/po/ChangeLog,
+         xfprint/branches/xfce_4_4/po/sq.po, po/ChangeLog, po/sq.po: Added
+         the Albanian translations by Besnik Bleta
+
+2007-01-29 20:45  olivier
+
+       * ChangeLog, INSTALL, src/client.c: Fix the small lag before icon
+         update at first map and when updating all frames at once, remove
+         the INSTALL file from SVN as we ship the default file that gets
+         updated by autogen.sh, update ChangeLog
+
 2007-01-24 22:57  kelnos
 
        * .: branch for 4.4

Modified: xfwm4/branches/xfce_4_4/NEWS
===================================================================
--- xfwm4/branches/xfce_4_4/NEWS        2007-03-13 19:45:22 UTC (rev 25157)
+++ xfwm4/branches/xfce_4_4/NEWS        2007-03-13 21:13:35 UTC (rev 25158)
@@ -5,18 +5,20 @@
   apps that falsely update their WM name property (Bug #2810)."
 - Fix a misinterpretation of ICCCM about when to send a synthetic 
   configureNotify event (bug #2977).
+- Add new hidden option to instruct xfwm4 not to bring window back on 
+  current workspace when activated (bug #2961)
 - Place splash screen windows on the normal layer, so that dialogs that 
   get mapped during startup have a chance to be placed above the splash 
   screen.
+- Raise focused window on workspace switch (bug #2960)
+- Sort Z-order on workspace change (bug #2960)
+- Fix the small lag before icon update at first map and when updating all 
+  frames at once.
 - Update Turkish translation
 - Update Ukrainian translation.
-- Raise focused window on workspace switch (bug #2960)
-- Sort Z-order on workspace change (bug #2960)
 - Updated the Chinese (simplified) translations by Wu Li and fixed some 
   accelerators in the French translations.
 - Added the Albanian translations by Besnik Bleta
-- Fix the small lag before icon update at first map and when updating all 
-  frames at once.
 
 
 4.4.0

Modified: xfwm4/branches/xfce_4_4/defaults/defaults
===================================================================
--- xfwm4/branches/xfce_4_4/defaults/defaults   2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/defaults/defaults   2007-03-13 21:13:35 UTC (rev 
25158)
@@ -1,6 +1,7 @@
 borderless_maximize=true
 box_move=false
 box_resize=false
+bring_on_activate=true
 button_layout=OT|SHMC
 button_offset=0
 button_spacing=0

Modified: xfwm4/branches/xfce_4_4/doc/C/xfwm4.html
===================================================================
--- xfwm4/branches/xfce_4_4/doc/C/xfwm4.html    2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/doc/C/xfwm4.html    2007-03-13 21:13:35 UTC (rev 
25158)
@@ -1,5 +1,5 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1"><title>Xfce 4 Window Manager</title><link rel="stylesheet" 
href="../xfce.css" type="text/css"><meta name="generator" content="DocBook XSL 
Stylesheets V1.68.1"><link rel="start" href="#xfwm4" title="Xfce 4 Window 
Manager"><link rel="next" href="#wm-intro" title="Introduction"></head><body 
bgcolor="white" text="black" link="#0000FF" vlink="#840084" 
alink="#0000FF"><div class="article" lang="en"><div 
class="titlepage"><div><div><h1 class="title"><a name="xfwm4"></a>Xfce 4 Window 
Manager</h1></div><div><div class="authorgroup"><div class="author"><h3 
class="author"><span class="firstname">Fran�ois</span> <span class="surname">Le 
Clainche</span></h3><div class="affiliation"><div class="address"><p><code 
class="email">&lt;<a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>&gt;</code></p></div></div></div></div></div><div><span 
xmlns="http://www.w3.org/TR/xhtml1/transitional"; class="r
 eleaseinfo">This manual describes <strong xmlns="" 
class="application"><code>xfwm4</code></strong> version 4.2.0
-  <br></br></span></div><div><p class="copyright">Copyright � 2004 Fran�ois Le 
Clainche</p></div><div><p class="copyright">Copyright � 2004 Jasper 
Huijsmans</p></div></div><hr></div><div class="toc"><p><b>Table of 
Contents</b></p><dl><dt><span class="sect1"><a 
href="#wm-intro">Introduction</a></span></dt><dt><span class="sect1"><a 
href="#wm-using">Using <strong 
class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span
 class="sect2"><a href="#wm-windows">Manage 
windows</a></span></dt></dl></dd><dt><span class="sect1"><a 
href="#wm-settings">Customizing <strong 
class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span
 class="sect2"><a href="#wm-style">Decoration style</a></span></dt><dt><span 
class="sect2"><a href="#keyboard_shortcuts">Keyboard 
shortcuts</a></span></dt><dt><span class="sect2"><a href="#focus">Focus 
preferences</a></span></dt><dt><span class="sect2"><a 
href="#wm_advanced">Advanced settings</a></span></dt></dl></dd><d
 t><span class="sect1"><a href="#workspaces">Managing 
workspaces</a></span></dt><dd><dl><dt><span class="sect2"><a 
href="#id280041">Workspaces settings</a></span></dt><dt><span class="sect2"><a 
href="#workspace-margins">Workspaces margins</a></span></dt></dl></dd><dt><span 
class="sect1"><a href="#wm-copyright">About <strong 
class="application"><code>xfwm4</code></strong></a></span></dt></dl></div><p>�</p><div
 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" 
style="clear: both"><a 
name="wm-intro"></a>Introduction</h2></div></div></div><p>The Xfce 4 Window 
Manager is part of the <a href="http://www.xfce.org"; target="_top">Xfce Desktop 
Environment</a>.
+  <br></br></span></div><div><p class="copyright">Copyright � 2004 Fran�ois Le 
Clainche</p></div><div><p class="copyright">Copyright � 2004 Jasper 
Huijsmans</p></div></div><hr></div><div class="toc"><p><b>Table of 
Contents</b></p><dl><dt><span class="sect1"><a 
href="#wm-intro">Introduction</a></span></dt><dt><span class="sect1"><a 
href="#wm-using">Using <strong 
class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span
 class="sect2"><a href="#wm-windows">Manage 
windows</a></span></dt></dl></dd><dt><span class="sect1"><a 
href="#wm-settings">Customizing <strong 
class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span
 class="sect2"><a href="#wm-style">Decoration style</a></span></dt><dt><span 
class="sect2"><a href="#keyboard_shortcuts">Keyboard 
shortcuts</a></span></dt><dt><span class="sect2"><a href="#focus">Focus 
preferences</a></span></dt><dt><span class="sect2"><a 
href="#wm_advanced">Advanced settings</a></span></dt></dl></dd><d
 t><span class="sect1"><a href="#workspaces">Managing 
workspaces</a></span></dt><dd><dl><dt><span class="sect2"><a 
href="#id285779">Workspaces settings</a></span></dt><dt><span class="sect2"><a 
href="#workspace-margins">Workspaces margins</a></span></dt></dl></dd><dt><span 
class="sect1"><a href="#wm-copyright">About <strong 
class="application"><code>xfwm4</code></strong></a></span></dt></dl></div><p>�</p><div
 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" 
style="clear: both"><a 
name="wm-intro"></a>Introduction</h2></div></div></div><p>The Xfce 4 Window 
Manager is part of the <a href="http://www.xfce.org"; target="_top">Xfce Desktop 
Environment</a>.
     The actual command to run is <strong 
class="application"><code>xfwm4</code></strong>. To run it in the background 
use 
     <span><strong class="command"><strong 
class="application"><code>xfwm4</code></strong> --daemon</strong></span>. The 
window manager is responsible for
     the placement of windows on the screen, provides the window
@@ -174,12 +174,15 @@
          appear or not, when you move or resize it (not displaying the
          content will save some system resources).</p></dd><dt><span 
class="term">Double click action</span></dt><dd><p>Select what must be the 
behaviour of the window manager when you
          double-click on the title bar of a window : shade window, hide
-         window, maximize window or 
none.</p></dd></dl></div></div></div><p>�</p><div class="sect1" lang="en"><div 
class="titlepage"><div><div><h2 class="title" style="clear: both"><a 
name="workspaces"></a>Managing workspaces</h2></div></div></div><p><strong 
class="application"><code>xfwm4</code></strong> also manages workspaces. There 
is a special settings dialog to
+         window, maximize window or none.</p></dd></dl></div></div></div><div 
class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a 
name="hidden_options"></a>Hidden options</h3></div></div></div><p>Some hidden 
options allow you to customize <strong 
class="application"><code>xfwm4</code></strong> behaviour. They have to be 
added by hand to your
+       HOME/.config/xfce4/xfwm4/xfwm4rc file. You may have to create this 
file.</p><div class="variablelist"><dl><dt><span 
class="term">bring_on_activate=false</span></dt><dd><p>Set this option to false 
if you don't want a window to be brought back
+                       on the current workspace when the application tries to 
raise it.
+                       </p></dd></dl></div></div><p>�</p><div class="sect1" 
lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: 
both"><a name="workspaces"></a>Managing 
workspaces</h2></div></div></div><p><strong 
class="application"><code>xfwm4</code></strong> also manages workspaces. There 
is a special settings dialog to
     change the workspace properties. You can start it by choosing 
     <span class="emphasis"><em>Workspaces and Margins</em></span> from the the 
<a href="xfce-mcs-manager.html#manager-dialog" target="_top">settings manager
       dialog</a>. The dialog contains two tab folders where you can 
     change workspace settings and desktop margins.
-  </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 
class="title"><a name="id280041"></a>Workspaces 
settings</h3></div></div></div><div class="figure"><a 
name="xfwm-workspace-fig"></a><p class="title"><b>Figure�7.�Workspace 
Settings</b></p><div class="screenshot"><div class="mediaobject"><img 
src="images/xfwm_workspaces.png" alt="Shows workspace settings tab folder.
+  </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 
class="title"><a name="id285779"></a>Workspaces 
settings</h3></div></div></div><div class="figure"><a 
name="xfwm-workspace-fig"></a><p class="title"><b>Figure�7.�Workspace 
Settings</b></p><div class="screenshot"><div class="mediaobject"><img 
src="images/xfwm_workspaces.png" alt="Shows workspace settings tab folder.
            "></div></div></div><div class="variablelist"><dl><dt><span 
class="term">Workspaces</span></dt><dd><p>This option allows you too choose the 
number of workspaces you
            want to use (between 1 and 32).
          </p></dd><dt><span class="term">Worspace names</span></dt><dd><p>This 
field shows the list of avaible workspaces. If you want to

Modified: xfwm4/branches/xfce_4_4/doc/C/xfwm4.xml
===================================================================
--- xfwm4/branches/xfce_4_4/doc/C/xfwm4.xml     2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/doc/C/xfwm4.xml     2007-03-13 21:13:35 UTC (rev 
25158)
@@ -773,6 +773,25 @@
 
 </sect1>
 
+<sect2 id="hidden_options">
+  <title>Hidden options</title>
+
+       <para>Some hidden options allow you to customize &app; behaviour. They 
have to be added by hand to your
+       HOME/.config/xfce4/xfwm4/xfwm4rc file. You may have to create this 
file.</para>
+
+<variablelist>
+       <varlistentry>
+               <term>bring_on_activate=false</term>
+                       <listitem>
+                       <para>Set this option to false if you don't want a 
window to be brought back
+                       on the current workspace when the application tries to 
raise it.
+                       </para>
+                       </listitem>
+       </varlistentry> 
+</variablelist>
+
+</sect2>
+
   <!-- extra space -->
   <para>&nbsp;</para>
   

Modified: xfwm4/branches/xfce_4_4/src/client.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/client.c        2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/src/client.c        2007-03-13 21:13:35 UTC (rev 
25158)
@@ -2603,11 +2603,20 @@
     TRACE ("entering clientActivate \"%s\" (0x%lx)", c->name, c->window);
 
     screen_info = c->screen_info;
-    clientSetWorkspace (c, screen_info->current_ws, TRUE);
-    clientShow (c, TRUE);
-    clientClearAllShowDesktop (screen_info);
-    clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG);
-    clientRaise (c, None);
+    if ((screen_info->current_ws == c->win_workspace) || 
(screen_info->params->bring_on_activate))
+    {
+        clientSetWorkspace (c, screen_info->current_ws, TRUE);
+        clientShow (c, TRUE);
+        clientClearAllShowDesktop (screen_info);
+        clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG);
+        clientRaise (c, None);
+    }
+    else
+    {
+        TRACE ("Setting WM_STATE_DEMANDS_ATTENTION flag on \"%s\" (0x%lx)", 
c->name, c->window); 
+        FLAG_SET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION);
+        clientSetNetState (c);
+    }
 }
 
 void

Modified: xfwm4/branches/xfce_4_4/src/events.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/events.c        2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/src/events.c        2007-03-13 21:13:35 UTC (rev 
25158)
@@ -1444,7 +1444,7 @@
             last_raised = clientGetLastRaise (screen_info);
             if (last_raised && (c != last_raised))
             {
-                if (screen_info->params->prevent_focus_stealing)
+                if ((screen_info->params->prevent_focus_stealing) && 
!(screen_info->params->bring_on_activate))
                 {
                     ev->value_mask &= ~(CWSibling | CWStackMode);
                     TRACE ("Setting WM_STATE_DEMANDS_ATTENTION flag on \"%s\" 
(0x%lx)", c->name, c->window); 

Modified: xfwm4/branches/xfce_4_4/src/settings.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/settings.c      2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/src/settings.c      2007-03-13 21:13:35 UTC (rev 
25158)
@@ -364,6 +364,10 @@
                         screen_info->params->borderless_maximize = 
setting->data.v_int;
                         reloadScreenSettings (screen_info, UPDATE_MAXIMIZE);
                     }
+                    else if (!strcmp (name, "Xfwm/BringOnActivate"))
+                    {
+                        screen_info->params->bring_on_activate = 
setting->data.v_int;
+                    }
                     else if (!strcmp (name, "Xfwm/CycleMinimum"))
                     {
                         screen_info->params->cycle_minimum = 
setting->data.v_int;
@@ -726,6 +730,12 @@
             setBooleanValueFromInt ("borderless_maximize", 
setting->data.v_int, rc);
             mcs_setting_free (setting);
         }
+        if (mcs_client_get_setting (screen_info->mcs_client, 
"Xfwm/BringOnActivate", CHANNEL5,
+                &setting) == MCS_SUCCESS)
+        {
+            setBooleanValueFromInt ("bring_on_activate", setting->data.v_int, 
rc);
+            mcs_setting_free (setting);
+        }
         if (mcs_client_get_setting (screen_info->mcs_client, 
"Xfwm/CycleMinimum", CHANNEL5,
                 &setting) == MCS_SUCCESS)
         {
@@ -1293,6 +1303,7 @@
         {"borderless_maximize", NULL, TRUE},
         {"box_move", NULL, TRUE},
         {"box_resize", NULL, TRUE},
+        {"bring_on_activate", NULL, TRUE},
         {"button_layout", NULL, TRUE},
         {"button_offset", NULL, TRUE},
         {"button_spacing", NULL, TRUE},
@@ -1435,6 +1446,8 @@
         !g_ascii_strcasecmp ("true", getValue ("box_resize", rc));
     screen_info->params->box_move =
         !g_ascii_strcasecmp ("true", getValue ("box_move", rc));
+    screen_info->params->bring_on_activate =
+        !g_ascii_strcasecmp ("true", getValue ("bring_on_activate", rc));
     screen_info->params->click_to_focus =
         !g_ascii_strcasecmp ("true", getValue ("click_to_focus", rc));
     screen_info->params->cycle_minimum =

Modified: xfwm4/branches/xfce_4_4/src/settings.h
===================================================================
--- xfwm4/branches/xfce_4_4/src/settings.h      2007-03-13 19:45:22 UTC (rev 
25157)
+++ xfwm4/branches/xfce_4_4/src/settings.h      2007-03-13 21:13:35 UTC (rev 
25158)
@@ -197,6 +197,7 @@
     gboolean borderless_maximize;
     gboolean box_move;
     gboolean box_resize;
+    gboolean bring_on_activate;
     gboolean click_to_focus;
     gboolean cycle_hidden;
     gboolean cycle_minimum;

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to