diff options
-rw-r--r-- | defaults/defaults | 1 | ||||
-rw-r--r-- | doc/C/xfwm4.html | 32 | ||||
-rw-r--r-- | doc/C/xfwm4.xml | 117 | ||||
-rw-r--r-- | doc/fr/xfwm4.html | 28 | ||||
-rw-r--r-- | doc/fr/xfwm4.xml | 112 | ||||
-rw-r--r-- | src/client.c | 19 | ||||
-rw-r--r-- | src/events.c | 3 | ||||
-rw-r--r-- | src/frame.c | 38 | ||||
-rw-r--r-- | src/settings.c | 46 | ||||
-rw-r--r-- | src/settings.h | 1 |
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"><<a href="mailto:fleclainche@wanadoo.fr">fleclainche@wanadoo.fr</a>></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"><<a href="mailto:fleclainche@wanadoo.fr">fleclainche@wanadoo.fr</a>></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; |