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"><<a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>></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> </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