summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan.olivier@wanadoo.fr>2006-09-03 22:22:00 +0000
committerOlivier Fourdan <fourdan.olivier@wanadoo.fr>2006-09-03 22:22:00 +0000
commit321579be52488de510385c3ea6137bb748f04ba8 (patch)
tree21766ca3660ec4308c8a8214108e291025628d2b
parentc4ac4885424d70ccb7988e3e2833ce5484bda683 (diff)
downloadxfwm4-321579be52488de510385c3ea6137bb748f04ba8.tar.gz
Add hidden option to show/hide border on maximized windows (bug #2257)
(Old svn revision: 23068)
-rw-r--r--defaults/defaults1
-rw-r--r--doc/C/xfwm4.html32
-rw-r--r--doc/C/xfwm4.xml117
-rw-r--r--doc/fr/xfwm4.html28
-rw-r--r--doc/fr/xfwm4.xml112
-rw-r--r--src/client.c19
-rw-r--r--src/events.c3
-rw-r--r--src/frame.c38
-rw-r--r--src/settings.c46
-rw-r--r--src/settings.h1
10 files changed, 88 insertions, 309 deletions
diff --git a/defaults/defaults b/defaults/defaults
index 3dd0ab5e1..f80af1b94 100644
--- a/defaults/defaults
+++ b/defaults/defaults
@@ -1,3 +1,4 @@
+borderless_maximize=true
box_move=false
box_resize=false
button_layout=O|HMC
diff --git a/doc/C/xfwm4.html b/doc/C/xfwm4.html
index 09ef62886..4afdea439 100644
--- a/doc/C/xfwm4.html
+++ b/doc/C/xfwm4.html
@@ -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:fleclainche@wanadoo.fr">fleclainche@wanadoo.fr</a>&gt;</code></p></div></div></div></div></div><div><span xmlns="http://www.w3.org/TR/xhtml1/transitional" class="releaseinfo">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><dt><span class="sect2"><a href="#hidden_options">Hidden options</a></span></dt></dl></dd><dt><span class="sect1"><a href="#workspaces">Managing workspaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id280260">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><dt><span class="sect2"><a href="#hidden_options">Hidden options</a></span></dt></dl></dd><dt><span class="sect1"><a href="#workspaces">Managing workspaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id280079">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
@@ -175,38 +175,14 @@
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 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">cycle_minimum=false</span></dt><dd><p>Add this line to your xfwm4rc file if you want apps that do not appear
- in the taskbar to be included when you switch the focus using the Alt+Tab
- shortcut.
- </p></dd><dt><span class="term">cycle_hidden=false</span></dt><dd><p>Add this line to your xfwm4rc file if you want to exclude hidden windows
- from the list presented when using the Alt+Tab shortcut.
- </p></dd><dt><span class="term">easy_click=false</span></dt><dd><p>Add this line to your xfwm4rc file if you want to disable the ability to move
- and resize windows using the Alt button + mouse click shortcut.
- </p></dd><dt><span class="term">focus_hint=false</span></dt><dd><p>Add this line to your xfwm4rc file to instruct xfwm4 to ignore the focus hint
- provided by the applications.
- </p></dd><dt><span class="term">prevent_focus_stealing=true</span></dt><dd><p>Add this line to your xfwm4rc file to prevent windows from stealing focus.
- </p></dd><dt><span class="term">raise_with_any_button=false</span></dt><dd><p>Add this line to your xfwm4rc file if you want to raise a window only when
- clicked with the left mouse button.
- </p></dd><dt><span class="term">move_opacity=100</span></dt><dd><p>Set the window opacity while being moved. Opacity is an integer value between 0 and 100;
- 100 being opaque, 0 totally invisible.
- </p><p>That option has no effect if the compositing manager is not enabled.</p></dd><dt><span class="term">resize_opacity=100</span></dt><dd><p>Set the window opacity while being resized. Opacity is an integer value between 0 and 100;
- 100 being opaque, 0 totally invisible.
- </p><p>That option has no effect if the compositing manager is not enabled.</p></dd><dt><span class="term">placement_ratio=25</span></dt><dd><p>Windows larger than this ratio of the actual screen size will be placed using a "smart" but
- CPU consuming placement algorithm, while other smaller windows will be simply paced at the center
- of the screen. 0 will instruct the window manager to always use the "smart" placement algorithm, while
- 100 will place all windows at the center of the screen.
- </p></dd><dt><span class="term">scroll_workspaces=false</span></dt><dd><p>Add this line to your xfwm4rc file if you want to disable workspace switching
- with the mouse wheel.
- </p></dd><dt><span class="term">toggle_workspaces=true</span></dt><dd><p>Add this line to your xfwm4rc file if you want the Control+F(N) keyboard shortcut
- to remember the previous workspace.
- </p></dd><dt><span class="term">wrap_layout=true</span></dt><dd><p>wrap workspaces depending on the actual desktop layout.
- </p></dd><dt><span class="term">wrap_cycle=true</span></dt><dd><p>wrap workspaces when the first or last workspace is reached.
+ HOME/.config/xfce4/xfwm4/xfwm4rc file. You may have to create this file.</p><div class="variablelist"><dl><dt><span class="term">borderless_maximize=false</span></dt><dd><p>Set this option to false to show decoration borders on
+ maximized windows.
</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
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="id280260"></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="id280079"></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
diff --git a/doc/C/xfwm4.xml b/doc/C/xfwm4.xml
index c534d166e..a0d635335 100644
--- a/doc/C/xfwm4.xml
+++ b/doc/C/xfwm4.xml
@@ -780,124 +780,13 @@ maintainers, etc. Commented out by default.
<variablelist>
<varlistentry>
- <term>cycle_minimum=false</term>
+ <term>borderless_maximize=false</term>
<listitem>
- <para>Add this line to your xfwm4rc file if you want apps that do not appear
- in the taskbar to be included when you switch the focus using the Alt+Tab
- shortcut.
+ <para>Set this option to false to show decoration borders on
+ maximized windows.
</para>
</listitem>
</varlistentry>
-
- <varlistentry>
- <term>cycle_hidden=false</term>
- <listitem>
- <para>Add this line to your xfwm4rc file if you want to exclude hidden windows
- from the list presented when using the Alt+Tab shortcut.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>easy_click=false</term>
- <listitem>
- <para>Add this line to your xfwm4rc file if you want to disable the ability to move
- and resize windows using the Alt button + mouse click shortcut.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>focus_hint=false</term>
- <listitem>
- <para>Add this line to your xfwm4rc file to instruct xfwm4 to ignore the focus hint
- provided by the applications.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>prevent_focus_stealing=true</term>
- <listitem>
- <para>Add this line to your xfwm4rc file to prevent windows from stealing focus.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>raise_with_any_button=false</term>
- <listitem>
- <para>Add this line to your xfwm4rc file if you want to raise a window only when
- clicked with the left mouse button.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>move_opacity=100</term>
- <listitem>
- <para>Set the window opacity while being moved. Opacity is an integer value between 0 and 100;
- 100 being opaque, 0 totally invisible.
- </para>
- <para>That option has no effect if the compositing manager is not enabled.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>resize_opacity=100</term>
- <listitem>
- <para>Set the window opacity while being resized. Opacity is an integer value between 0 and 100;
- 100 being opaque, 0 totally invisible.
- </para>
- <para>That option has no effect if the compositing manager is not enabled.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>placement_ratio=25</term>
- <listitem>
- <para>Windows larger than this ratio of the actual screen size will be placed using a "smart" but
- CPU consuming placement algorithm, while other smaller windows will be simply paced at the center
- of the screen. 0 will instruct the window manager to always use the "smart" placement algorithm, while
- 100 will place all windows at the center of the screen.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>scroll_workspaces=false</term>
- <listitem>
- <para>Add this line to your xfwm4rc file if you want to disable workspace switching
- with the mouse wheel.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>toggle_workspaces=true</term>
- <listitem>
- <para>Add this line to your xfwm4rc file if you want the Control+F(N) keyboard shortcut
- to remember the previous workspace.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>wrap_layout=true</term>
- <listitem>
- <para>wrap workspaces depending on the actual desktop layout.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>wrap_cycle=true</term>
- <listitem>
- <para>wrap workspaces when the first or last workspace is reached.
- </para>
- </listitem>
- </varlistentry>
-
</variablelist>
</sect2>
diff --git a/doc/fr/xfwm4.html b/doc/fr/xfwm4.html
index 81a4c1c88..4226b521a 100644
--- a/doc/fr/xfwm4.html
+++ b/doc/fr/xfwm4.html
@@ -1,5 +1,5 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Le gestionnaire de fenêtres de Xfce 4</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="Le gestionnaire de fenêtres de Xfce 4"><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>Le gestionnaire de fenêtres de Xfce 4</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:fleclainche@wanadoo.fr">fleclainche@wanadoo.fr</a>&gt;</code></p></div></div></div></div></div><div><span xmlns="http://www.w3.org/TR/xhtml1/transitional" class="releaseinfo">Ce manuel décrit la version 4.2 de <strong xmlns="" class="application"><code>xfwm4</code></strong>
- <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">Utiliser <strong class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span class="sect2"><a href="#wm-windows">Gestion des fenêtres</a></span></dt></dl></dd><dt><span class="sect1"><a href="#wm-settings">Personnaliser <strong class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span class="sect2"><a href="#wm-style">Style des décorations</a></span></dt><dt><span class="sect2"><a href="#keyboard_shortcuts">Raccourcis clavier</a></span></dt><dt><span class="sect2"><a href="#focus">Préférences de focalisation</a></span></dt><dt><span class="sect2"><a href="#wm_advanced">Paramètres avancés</a></span></dt><dt><span class="sect2"><a href="#hidden_options">Options cachées</a></span></dt></dl></dd><dt><span class="sect1"><a href="#workspaces">Gestion des espaces de travail</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id280440">Espaces de travail</a></span></dt><dt><span class="sect2"><a href="#workspace-margins">Marges des espaces de travail</a></span></dt></dl></dd><dt><span class="sect1"><a href="#wm-copyright">À propos de <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>Le gestionnaire de fenêtres de Xfce 4 est un des éléments de l'<a href="http://www.xfce.org" target="_top">environnement de bureau Xfce</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">Utiliser <strong class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span class="sect2"><a href="#wm-windows">Gestion des fenêtres</a></span></dt></dl></dd><dt><span class="sect1"><a href="#wm-settings">Personnaliser <strong class="application"><code>xfwm4</code></strong></a></span></dt><dd><dl><dt><span class="sect2"><a href="#wm-style">Style des décorations</a></span></dt><dt><span class="sect2"><a href="#keyboard_shortcuts">Raccourcis clavier</a></span></dt><dt><span class="sect2"><a href="#focus">Préférences de focalisation</a></span></dt><dt><span class="sect2"><a href="#wm_advanced">Paramètres avancés</a></span></dt><dt><span class="sect2"><a href="#hidden_options">Options cachées</a></span></dt></dl></dd><dt><span class="sect1"><a href="#workspaces">Gestion des espaces de travail</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id280239">Espaces de travail</a></span></dt><dt><span class="sect2"><a href="#workspace-margins">Marges des espaces de travail</a></span></dt></dl></dd><dt><span class="sect1"><a href="#wm-copyright">À propos de <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>Le gestionnaire de fenêtres de Xfce 4 est un des éléments de l'<a href="http://www.xfce.org" target="_top">environnement de bureau Xfce</a>.
La commande à lancer est <strong class="application"><code>xfwm4</code></strong>. Pour le lancer en tâche de fond il faut utiliser la commande
<span><strong class="command"><strong class="application"><code>xfwm4</code></strong> --daemon</strong></span>. Le gestionnaire de fenêtres est responsable du placement des fenêtres sur l'écran,
des décorations des fenêtres et permet leur déplacement, leur redimensionnement ou leur fermeture.
@@ -133,33 +133,13 @@
son déplacement ou son redimensionnement (ne pas afficher son contenu préserve une part des ressources
du système).</p></dd><dt><span class="term">Action du double clic</span></dt><dd><p>Permet de choisir le comportement que le gestionnaire de fenêtres doit adopter quand un double-clic survient
sur la barre de titre: cacher la fenêtre, enrouler la fenêtre, l'agrandir, ou ne rien faire.</p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="hidden_options"></a>Options cachées</h3></div></div></div><p>Certaines options cachées permettent de personnaliser le comportement de <strong class="application"><code>xfwm4</code></strong>. Elles doivent être ajoutées à la main
- dans un fichier HOME/.config/xfce4/xfwm4/xfwm4rc. Il est souvent nécessaire de créer ce fichier.</p><div class="variablelist"><dl><dt><span class="term">cycle_minimum=false</span></dt><dd><p>Ajouter cette ligne permet aux applications qui n'apparaissent pas habituellement dans la barre de tâches
- d'apparaître lorsque de raccourci Alt+Tab est utilisé.
- </p></dd><dt><span class="term">cycle_hidden=false</span></dt><dd><p>Cette ligne permet d'exclure les applications cachées de la liste des fenêtres présentée quand le
- raccourci Alt+Tab est utilisé.
- </p></dd><dt><span class="term">easy_click=false</span></dt><dd><p>Cette option désactive la possibilité de déplacer et redimensionner les fenêtres au moyen du raccourci
- Alt+clic de souris.
- </p></dd><dt><span class="term">focus_hint=false</span></dt><dd><p>Cette ligne indique à <strong class="application"><code>xfwm4</code></strong> d'ignorer l'instruction relative au focus fournie par l'application.
- </p></dd><dt><span class="term">prevent_focus_stealing=true</span></dt><dd><p>Cette option empêche les fenêtres de s'approprier le focus.
- </p></dd><dt><span class="term">raise_with_any_button=false</span></dt><dd><p>Cette option permet de ne faire apparaître les fenêtres au premier plan que lorsque le clic de souris avec le bouton
- 1 est utilisé.
- </p></dd><dt><span class="term">move_opacity=100</span></dt><dd><p>Règle le niveau d'opacité des fenêtres lors de leur déplacement. Le niveau d'opacité est un nombre entier compris entre
- 0 et 100, 100 correspondant à opaque, 0 à totalement visible.
- </p><p>Cette option n'a aucun effet si le gestionnaire de "composite" n'est pas activé.</p></dd><dt><span class="term">resize_opacity=100</span></dt><dd><p>Règle le niveau d'opacité des fenêtres lors de leur redimensionnement.
- Le niveau d'opacité est un nombre entier compris entre 0 et 100, 100 correspondant à opaque, 0 à totalement visible.
- </p><p>Cette option n'a aucun effet si le gestionnaire de "composite" n'est pas activé.</p></dd><dt><span class="term">placement_ratio=25</span></dt><dd><p>Les fenêtres plus grandes que ce pourcentage de la taille d'écran disponible seront placées en utilisant un algorithme
- "intelligent" mais consomateur de ressources, alors que les autres fenêtres plus petites seront simplement placées au centre
- de l'écran. 0 indique au gestionnaire de fenêtre de toujours utiliser l'algorithme "intelligent", alors que 100 placera
- toutes les fenêtres au centre de l'écran.
- </p></dd><dt><span class="term">scroll_workspaces=false</span></dt><dd><p>Cette option permet de désactiver le basculement d'espace de travail à l'aide de la molette de la souris.
- </p></dd><dt><span class="term">toggle_workspaces=true</span></dt><dd><p>Cette option indique au raccourci clavier Control+F(N) de se rappeler du numéro de l'espace de travail précédent.
- </p></dd><dt><span class="term">wrap_layout=true</span></dt><dd><p>Basculer d'espace de travail en fonction de la présentation actuelle du bureau.
- </p></dd><dt><span class="term">wrap_cycle=true</span></dt><dd><p>Changer d'espace de travail lorsque le premier ou le dernier espace de travail est atteint.
+ dans un fichier HOME/.config/xfce4/xfwm4/xfwm4rc. Il est souvent nécessaire de créer ce fichier.</p><div class="variablelist"><dl><dt><span class="term">borderless_maximize=false</span></dt><dd><p>Ajouter cette option pour afficher les décorations
+ des fenêtres lorsque celles-ci sont agrandies.
</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>Gestion des espaces de travail</h2></div></div></div><p><strong class="application"><code>xfwm4</code></strong> gère également les espaces de travail. Une fenêtre de préférences leur est dédiée. Pour la faire apparaître,
il faut choisir <span class="emphasis"><em>"Marges et espaces de travail"</em></span> depuis le
<a href="xfce-mcs-manager.html#manager-dialog" target="_top">gestionnaire de paramètres</a>.
Cette fenêtre contient deux onglets.
- </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id280440"></a>Espaces de travail</h3></div></div></div><div class="figure"><a name="xfwm-workspace-fig"></a><p class="title"><b>Figure 7. Paramètres des espaces de travail</b></p><div class="screenshot"><div class="mediaobject"><img src="images/xfwm_workspaces.png" alt="Montre la fenêtre des préférences des espaces de travail
+ </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id280239"></a>Espaces de travail</h3></div></div></div><div class="figure"><a name="xfwm-workspace-fig"></a><p class="title"><b>Figure 7. Paramètres des espaces de travail</b></p><div class="screenshot"><div class="mediaobject"><img src="images/xfwm_workspaces.png" alt="Montre la fenêtre des préférences des espaces de travail
"></div></div></div><div class="variablelist"><dl><dt><span class="term">Espaces de travail</span></dt><dd><p>Cette option permet de choisir le nombre d'espaces de travail souhaité
(entre 1 et 32).
</p></dd><dt><span class="term">Noms des espaces de travail</span></dt><dd><p>Ce champ montre la liste des espaces de travail disponibles. Pour éditer le nom de l'un d'entre eux,
diff --git a/doc/fr/xfwm4.xml b/doc/fr/xfwm4.xml
index e61685f0b..11e72973e 100644
--- a/doc/fr/xfwm4.xml
+++ b/doc/fr/xfwm4.xml
@@ -735,116 +735,10 @@ maintainers, etc. Commented out by default.
<variablelist>
<varlistentry>
- <term>cycle_minimum=false</term>
+ <term>borderless_maximize=false</term>
<listitem>
- <para>Ajouter cette ligne permet aux applications qui n'apparaissent pas habituellement dans la barre de tâches
- d'apparaître lorsque de raccourci Alt+Tab est utilisé.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>cycle_hidden=false</term>
- <listitem>
- <para>Cette ligne permet d'exclure les applications cachées de la liste des fenêtres présentée quand le
- raccourci Alt+Tab est utilisé.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>easy_click=false</term>
- <listitem>
- <para>Cette option désactive la possibilité de déplacer et redimensionner les fenêtres au moyen du raccourci
- Alt+clic de souris.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>focus_hint=false</term>
- <listitem>
- <para>Cette ligne indique à &app; d'ignorer l'instruction relative au focus fournie par l'application.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>prevent_focus_stealing=true</term>
- <listitem>
- <para>Cette option empêche les fenêtres de s'approprier le focus.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>raise_with_any_button=false</term>
- <listitem>
- <para>Cette option permet de ne faire apparaître les fenêtres au premier plan que lorsque le clic de souris avec le bouton
- 1 est utilisé.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>move_opacity=100</term>
- <listitem>
- <para>Règle le niveau d'opacité des fenêtres lors de leur déplacement. Le niveau d'opacité est un nombre entier compris entre
- 0 et 100, 100 correspondant à opaque, 0 à totalement visible.
- </para>
- <para>Cette option n'a aucun effet si le gestionnaire de "composite" n'est pas activé.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>resize_opacity=100</term>
- <listitem>
- <para>Règle le niveau d'opacité des fenêtres lors de leur redimensionnement.
- Le niveau d'opacité est un nombre entier compris entre 0 et 100, 100 correspondant à opaque, 0 à totalement visible.
- </para>
- <para>Cette option n'a aucun effet si le gestionnaire de "composite" n'est pas activé.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>placement_ratio=25</term>
- <listitem>
- <para>Les fenêtres plus grandes que ce pourcentage de la taille d'écran disponible seront placées en utilisant un algorithme
- "intelligent" mais consomateur de ressources, alors que les autres fenêtres plus petites seront simplement placées au centre
- de l'écran. 0 indique au gestionnaire de fenêtre de toujours utiliser l'algorithme "intelligent", alors que 100 placera
- toutes les fenêtres au centre de l'écran.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>scroll_workspaces=false</term>
- <listitem>
- <para>Cette option permet de désactiver le basculement d'espace de travail à l'aide de la molette de la souris.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>toggle_workspaces=true</term>
- <listitem>
- <para>Cette option indique au raccourci clavier Control+F(N) de se rappeler du numéro de l'espace de travail précédent.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>wrap_layout=true</term>
- <listitem>
- <para>Basculer d'espace de travail en fonction de la présentation actuelle du bureau.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>wrap_cycle=true</term>
- <listitem>
- <para>Changer d'espace de travail lorsque le premier ou le dernier espace de travail est atteint.
+ <para>Ajouter cette option pour afficher les décorations
+ des fenêtres lorsque celles-ci sont agrandies.
</para>
</listitem>
</varlistentry>
diff --git a/src/client.c b/src/client.c
index db22790c8..fc081bace 100644
--- a/src/client.c
+++ b/src/client.c
@@ -519,8 +519,9 @@ clientSetWidth (Client * c, int w1)
TRACE ("setting width %i for client \"%s\" (0x%lx)", w1, c->name,
c->window);
- if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN) ||
- FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+ || (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize)))
{
/* Bypass resize increment and max sizes for fullscreen */
c->width = w1;
@@ -563,8 +564,9 @@ clientSetHeight (Client * c, int h1)
TRACE ("setting height %i for client \"%s\" (0x%lx)", h1, c->name,
c->window);
- if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN) ||
- FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+ || (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize)))
{
/* Bypass resize increment and max sizes for fullscreen */
c->height = h1;
@@ -4234,14 +4236,15 @@ clientResize (Client * c, int corner, XEvent * ev)
TRACE ("entering clientResize");
TRACE ("resizing client \"%s\" (0x%lx)", c->name, c->window);
- if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ screen_info = c->screen_info;
+ display_info = screen_info->display_info;
+
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (screen_info->params->borderless_maximize))
{
return;
}
- screen_info = c->screen_info;
- display_info = screen_info->display_info;
-
passdata.c = c;
passdata.cancel_x = passdata.ox = c->width;
passdata.cancel_y = passdata.oy = c->height;
diff --git a/src/events.c b/src/events.c
index 751ce019a..a9ec2887f 100644
--- a/src/events.c
+++ b/src/events.c
@@ -1349,7 +1349,8 @@ handleConfigureRequest (DisplayInfo *display_info, XConfigureRequestEvent * ev)
ev->value_mask |= (CWX | CWY | CWWidth | CWHeight);
}
- else if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ else if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (screen_info->params->borderless_maximize))
{
wc.x = c->x;
wc.y = c->y;
diff --git a/src/frame.c b/src/frame.c
index c732ee661..e7fb025c8 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -81,7 +81,8 @@ frameLeft (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
- && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ || !(c->screen_info->params->borderless_maximize)))
{
return c->screen_info->sides[SIDE_LEFT][ACTIVE].width;
}
@@ -96,7 +97,8 @@ frameRight (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
- && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ || !(c->screen_info->params->borderless_maximize)))
{
return c->screen_info->sides[SIDE_RIGHT][ACTIVE].width;
}
@@ -125,7 +127,8 @@ frameBottom (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
- && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ || !(c->screen_info->params->borderless_maximize)))
{
return c->screen_info->sides[SIDE_BOTTOM][ACTIVE].height;
}
@@ -140,7 +143,8 @@ frameX (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
- && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ || !(c->screen_info->params->borderless_maximize)))
{
return c->x - frameLeft (c);
}
@@ -154,7 +158,7 @@ frameY (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
+ && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
{
return c->y - frameTop (c);
}
@@ -169,7 +173,8 @@ frameWidth (Client * c)
g_return_val_if_fail (c != NULL, 0);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
- && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ || !(c->screen_info->params->borderless_maximize)))
{
return c->width + frameLeft (c) + frameRight (c);
}
@@ -199,7 +204,11 @@ frameHeight (Client * c)
static int
frameTopLeftWidth (Client * c, int state)
{
- if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ TRACE ("entering frameTopLeftWidth");
+
+ g_return_val_if_fail (c != NULL, 0);
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && c->screen_info->params->borderless_maximize)
{
return 0;
}
@@ -210,7 +219,11 @@ frameTopLeftWidth (Client * c, int state)
static int
frameTopRightWidth (Client * c, int state)
{
- if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ TRACE ("entering frameTopRightWidth");
+
+ g_return_val_if_fail (c != NULL, 0);
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && c->screen_info->params->borderless_maximize)
{
return 0;
}
@@ -220,7 +233,11 @@ frameTopRightWidth (Client * c, int state)
static int
frameButtonOffset (Client *c)
{
- if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ TRACE ("entering frameButtonOffset");
+
+ g_return_val_if_fail (c != NULL, 0);
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && c->screen_info->params->borderless_maximize)
{
return MAX (0, c->screen_info->params->maximized_offset);
}
@@ -990,7 +1007,8 @@ frameDraw (Client * c, gboolean clear_all)
&screen_info->corners[CORNER_BOTTOM_RIGHT][state]);
}
- if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize))
{
xfwmWindowHide (&c->sides[SIDE_LEFT]);
xfwmWindowHide (&c->sides[SIDE_RIGHT]);
diff --git a/src/settings.c b/src/settings.c
index f78b3b902..e53508316 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -177,7 +177,15 @@ notify_cb (const char *name, const char *channel_name, McsAction action, McsSett
case MCS_ACTION_CHANGED:
if (setting->type == MCS_TYPE_INT)
{
- if (!strcmp (name, "Xfwm/ClickToFocus"))
+ if (!strcmp (name, "Xfwm/BoxMove"))
+ {
+ screen_info->params->box_move = setting->data.v_int;
+ }
+ else if (!strcmp (name, "Xfwm/BoxResize"))
+ {
+ screen_info->params->box_resize = setting->data.v_int;
+ }
+ else if (!strcmp (name, "Xfwm/ClickToFocus"))
{
screen_info->params->click_to_focus = setting->data.v_int;
check_for_grabs (screen_info);
@@ -224,14 +232,6 @@ notify_cb (const char *name, const char *channel_name, McsAction action, McsSett
{
screen_info->params->wrap_resistance = setting->data.v_int;
}
- else if (!strcmp (name, "Xfwm/BoxMove"))
- {
- screen_info->params->box_move = setting->data.v_int;
- }
- else if (!strcmp (name, "Xfwm/BoxResize"))
- {
- screen_info->params->box_resize = setting->data.v_int;
- }
}
else if (setting->type == MCS_TYPE_STRING)
{
@@ -359,7 +359,11 @@ notify_cb (const char *name, const char *channel_name, McsAction action, McsSett
case MCS_ACTION_CHANGED:
if (setting->type == MCS_TYPE_INT)
{
- if (!strcmp (name, "Xfwm/CycleMinimum"))
+ if (!strcmp (name, "Xfwm/BorderlessMaximize"))
+ {
+ screen_info->params->borderless_maximize = setting->data.v_int;
+ }
+ else if (!strcmp (name, "Xfwm/CycleMinimum"))
{
screen_info->params->cycle_minimum = setting->data.v_int;
}
@@ -715,6 +719,12 @@ loadMcsData (ScreenInfo *screen_info, Settings *rc)
}
/* Tweaks channel */
+ if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/BorderlessMaximize", CHANNEL5,
+ &setting) == MCS_SUCCESS)
+ {
+ setBooleanValueFromInt ("borderless_maximize", setting->data.v_int, rc);
+ mcs_setting_free (setting);
+ }
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/CycleMinimum", CHANNEL5,
&setting) == MCS_SUCCESS)
{
@@ -1277,6 +1287,7 @@ loadSettings (ScreenInfo *screen_info)
{"inactive_shadow_2", NULL, FALSE},
{"inactive_mid_2", NULL, FALSE},
/* You can change the order of the following parameters */
+ {"borderless_maximize", NULL, TRUE},
{"box_move", NULL, TRUE},
{"box_resize", NULL, TRUE},
{"button_layout", NULL, TRUE},
@@ -1414,10 +1425,12 @@ loadSettings (ScreenInfo *screen_info)
return FALSE;
}
+ screen_info->params->borderless_maximize =
+ !g_ascii_strcasecmp ("true", getValue ("borderless_maximize", rc));
screen_info->params->box_resize =
!g_ascii_strcasecmp ("true", getValue ("box_resize", rc));
- screen_info->params->box_move = !g_ascii_strcasecmp ("true", getValue ("box_move", rc));
-
+ screen_info->params->box_move =
+ !g_ascii_strcasecmp ("true", getValue ("box_move", rc));
screen_info->params->click_to_focus =
!g_ascii_strcasecmp ("true", getValue ("click_to_focus", rc));
screen_info->params->cycle_minimum =
@@ -1434,7 +1447,8 @@ loadSettings (ScreenInfo *screen_info)
!g_ascii_strcasecmp ("true", getValue ("raise_on_focus", rc));
screen_info->params->prevent_focus_stealing =
!g_ascii_strcasecmp ("true", getValue ("prevent_focus_stealing", rc));
- screen_info->params->raise_delay = abs (TOINT (getValue ("raise_delay", rc)));
+ screen_info->params->raise_delay =
+ abs (TOINT (getValue ("raise_delay", rc)));
screen_info->params->raise_on_click =
!g_ascii_strcasecmp ("true", getValue ("raise_on_click", rc));
screen_info->params->raise_with_any_button =
@@ -1465,7 +1479,8 @@ loadSettings (ScreenInfo *screen_info)
!g_ascii_strcasecmp ("true", getValue ("snap_to_windows", rc));
screen_info->params->snap_resist =
!g_ascii_strcasecmp ("true", getValue ("snap_resist", rc));
- screen_info->params->snap_width = abs (TOINT (getValue ("snap_width", rc)));
+ screen_info->params->snap_width =
+ abs (TOINT (getValue ("snap_width", rc)));
set_settings_margin (screen_info, LEFT, TOINT (getValue ("margin_left", rc)));
set_settings_margin (screen_info, RIGHT, TOINT (getValue ("margin_right", rc)));
@@ -1518,7 +1533,8 @@ loadSettings (ScreenInfo *screen_info)
!g_ascii_strcasecmp ("true", getValue ("wrap_cycle", rc));
screen_info->params->scroll_workspaces =
!g_ascii_strcasecmp ("true", getValue ("scroll_workspaces", rc));
- screen_info->params->wrap_resistance = abs (TOINT (getValue ("wrap_resistance", rc)));
+ screen_info->params->wrap_resistance =
+ abs (TOINT (getValue ("wrap_resistance", rc)));
freeRc (rc);
return TRUE;
diff --git a/src/settings.h b/src/settings.h
index d830952e1..3db496b01 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -170,6 +170,7 @@ struct _XfwmParams
int title_horizontal_offset;
int title_shadow[2];
int wrap_resistance;
+ gboolean borderless_maximize;
gboolean box_move;
gboolean box_resize;
gboolean click_to_focus;