XFce possède désormais son propre gestionnaire de fenêtres ! Léger et efficace, tout comme XFce, XFwm est un puissant gestionnaire de fenêtres configuré depuis la barre principale de XFce !
1) Introduction
XFwm est basé sur FVWM2, de Robert Nation et Charles Hines. Historiquement, XFCE était prévu pour fonctionner avec FVWM, si bien que, lorsque j'ai décidé de doter XFCE de son propre gestionnaire de fenêtres, j'ai débuté a partir de FVWM... Le code de FVWM a été profondément modifié et rendu plus simple, chaque fonctionnailté superflue pour XFCE supprimée et pas mal de bugs ont été arrangés.
Maintenant, XFwm est disponible, et il est exactement comme je le voulais
: Joli, léger et efficace !
XFwm supporte dorénavant une
large variété de "hints" d'autres Gestionnaires de Fenêtres
:
|
Dans XFwm, chaque fenêtre possède une barre de titre et 4 boutons situés de chaque coté.
Note : L'aspect dégradé des barres de titre
n'est disponible uniquement que sur un écran de plus de 256 couleurs.
A 256 couleurs ou moins, la barre de titre apparaît unie.
![]() |
Ce bouton ouvre un petit menu qui permet d'appliquer des operations
de base sur une fenêtre, comme le déplacement, la fermeture,
le redimensionnement, l'icônification, etc.
Un double click sur ce bouton ferme la fenêtre |
![]() |
Ce bouton fonctionne comme une bascule. Il permet de "coller" la fenêtre a l'écran. Une fenêtre ainsi collée restera visible sur tous les écrans virtuels. |
![]() |
Ce petit bouton permet d'icônifier une fenêtre. Si l'application a sa propre icône, celle-ci sera utilisée pour la représentation icônifiée. Sinon, une icône par défaut sera affichée. |
![]() |
Ce bouton agrandit la fenêtre a la taille de l'écran de manière à ce qu'elle occupe la totalité de la surface visible.. |
N'importe quel bord de la fenêtre peut être utilisé pour agrandir ou redimensionner la fenêtre.
La fenêtre "active" est celle qui possède le focus. Les autres fenêtres sont considérées comme inactives.
On peut facilement distiguer la fenêtre active des autres par
la couleur de sa barre de titre.
![]() |
Correspond a la fenêtre active (avec la palette de couleur par défaut) |
![]() |
Correspond a une fenêtre inactive |
3) Les couleurs
Les palettes de couleurs utilisées dans XFwm sont celles de XFCE. Chaque fois que vous modifiez les couleurs dans XFCE, toutes les fenêtres héritent de la même palette.
Cette possibilité permet d'arranger votre gestionnaire de fenêtre a votre goût très facilement, sans avoir a éditer la moindre ligne d'un fichier de configuration !
Selectionnez le panneau de configuration, puis chargez ou définissez votre propre palette :
1 | Couleur du pointeur de souris |
2 | Couleur des éléments sélectionnés dans les menus de XFwm |
4 | Couleur de fenêtre inactive |
7 | Couleur de fenêtre active |
8 | Couleur pour les bordures de fenêtres et menus |
Grâce a ces paramètres, vous pourrez facilement changer
l'aspect des fenêtres dans XFwm :
![]() |
![]() |
![]() |
![]() |
A partir du panneau de configuration de XFce, vous pouvez également définir le mode de focalisation des fenêtres, à savoir cliquer pour focaliser ou si le focus suit le pointeur de la souris.
4) Le fichier de configuration de XFwm
XFwm est déjà préconfiguré. Cependant, la plupart des paramètes peuvent être modifiés en créant ou en modifiant votre propre fichier de configuration.
Poue être reconnu comme tel, un fichier de configuration doit
avoir l'un des noms suivants :
XFwm accepte les mots clés suivants dans ses fichiers de configuration
:
ActiveColor <c1> <c2> (*) | Définit la couleur des fenêtres actives | ActiveColor #c0c0c0 #ffffff |
AddToFunc <fn> | Commence ou augmente une définition de fonction | AddToFunc Move-or-Raise "I" Raise
+ "M" Move + "D" Lower |
AddToMenu <mn> | Commence ou augmente une définition de menu | AddToMenu "Utilities"
+ "Xterm" Exec xterm -e tcsh |
AnimateWin | Autorise ou inhibe les animations de fenêtres | AnimateWin On
AnimateWin Off |
AutoRaise (*) | Autorise ou inhibe la mise au premier plan automatique des fenêtres (lorsque FocusMode est définit à FollowMouse) | AutoRaise On
AutoRaise Off |
Beep | Emet un beep | Beep |
ClickTime <ct> | Spécifie le délai maximum (en millisecondes) entre l'appuis et la relache d'un bouton de souris | ClickTime 150 |
Close | Ferme la fenêtre courante | Close |
ColormapFocus | La table des couleurs est associée à la fenêtre ayant le focus | ColormapFocus |
CursorColor <c1> <c2> (*) | Définit la couleur du pointeur de souris | CursorColor red white |
CursorMove <n1> <n2> | Déplace le curseur de souris de n1% d'écran verticallement et n2% d'écran horizontalement | CursorMove 10 10 |
Delete | Envoie un message à une fenêtre lui demandant de se fermer. | Delete |
Desk <d1> [<d2>] (*) | Change de bureau virtuel | Desk <0> |
DesktopSize <Hor>x<Ver> | Définit la taille virtuelle de l'écran physique | DesktopSize 4x1 |
Destroy | Détruit la fenêtre d'une application | Destroy |
DestroyFunc <fn> | Supprime une fonction | DestroyFunc "Move-or-Raise" |
DestroyMenu <mn> | Supprime un menu | DestroyMenu "Utilities" |
Echo <s> | Envoie une chaîne vers "stderr" | Echo "Done" |
Exec <c> | Execute une commande | exec xedit |
ExecUseSHELL <c> | Définit le shell par défaut utilisé par Exec | ExecUseSHELL bash |
FlipFocus | Echange de focus entre les fenêtre qui avaient le focus précédemment | FlipFocus |
Focus | Donne le focus à une fenêtre | Focus |
FocusMode (*) | Definit le mode de focalisation des fenêtres | Focus ClickToFocus
Focus FollowMouse |
Function <fn> | Associe une fonction à une touche ou à la souris | Mouse 1 T A Function Move-or-Raise |
GotoPage <x> <y> | Déplace le point de vue à la page (x,y) | GotoPage 3 2 |
IconFont <font> | Définit la fonte utilisée pour les icônes | IconFont -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* |
Iconify | Iconifie/Deiconifie une fenêtre | Iconify |
InactiveColor <c1> <c2> (*) | Définit les couleurs pour les febêtres inactives | InactiveColors grey77 black |
Key <key> <context> <modif> <fn> | Associe une touche clavier à une fonction spécifique | Key F11 A SCM WindowList |
KillModule <m> | Supprime un module | KillModule xfce |
Lower | Passe une fenêtre en arrière plan | Lower |
Maximize | Agrandit une fenêtre à la taille de l'écran | Maximize |
Menu <m> <dbl-click-action> | Affiche le menu <m> ou déclenche une action si l'utilisateur a double-cliqué | Menu "Utilities" Close |
MenuColor <c1> <c2> <c3> <c4> (*) | Définit les couleurs de menu | MenuColor red blue yellow green |
MenuFont <font> | Définit la fonte utilisée pour les menus | MenuFont
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* |
Module <m> | Execute un module | Module xfce |
ModulePath | Définit le chemin d'accès aux modules | ModulePath $PATH |
Mouse <mouse> <context> <modif> <fn> | Associe un bouton de la souris à une fonction spécifique | Mouse 1 R A Menu "Root" Nop |
Move [<x> <y>] | Déplace une fenêtre | Move |
Nop | Ne fait rien ! | Nop |
OpaqueMove (*) | Définit si le contenu des fenêtres est affiché pendant leur déplacement | OpaqueMove On
OpaqueMove Off |
PopUp | Ouvre un menu ou un sous-menu | Popup "Quit" |
Quit | Termine XFwm | Quit |
Raise | Amène une fenêtre au premier plan | Raise |
RaiseLower | Amène une fenêtre au premier plan ou la renvoie au second plan | RaiseLower |
Recapture | Recapture toutes les fenêtres | Recapture |
Refresh | Rafraîchit l'écran | Refresh |
Resize [<x> <y>] | Redimensionne une fenêtre | Resize |
Restart | Relance XFwm | Restart |
Stick | Rend une fenêtre "collante" | Stick |
Style <win> <s1> [,<s2> [,<s3> [<s4>]...]] | Asocie un style a une ou plusiers fenêtres | Style "XFce*" Sticky |
TitleStyle <type> Gradient <c1> <c2> (*)
TitleStyle <type> Solid <c> (*) |
Définit un style de barre de titre | TitleStyle Active Gradient blue grey77
TitleStyle Inactive Solid grey60 |
Wait <nom> | Attends jusqu'à l'apparition de la fenêtre <nom> | Waiit xterm |
WindowFont | Définit la fonte utlisée pour les fenêtres | indowFont -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* |
WindowList | Donne la liste de toutes les fenêtres affichées à l'écran | Windowlist |
XORvalue <n> | Change la valeur XOR pour l'affichage du pourtour des fenêtres lors de leur redimensionnement |
Note : (*) indique les paramètres pris en charge par XFce lors du démarrage
Liste des Modifieurs :
N | Pas de modifieur |
S | Shift |
M | Méta |
A | N'importe quel modifieur |
R | Fenêtre de fond d'écran |
W | Fenêtre applicative |
T | Titre |
S | Cotés |
F | Cadre |
I | Icône |
1-4 | Boutons de barre de titre |
A | N'importe quel contexte |
5) Fichier sample.xfwmrc par défaut
MenuFont
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
WindowFont
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
IconFont
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
CursorColor red
white
AnimateWin
On
FocusMode
ClickToFocus
Style "*"
RandomPlacement
Style "*"
BorderWidth 5
Style "XFce*" Sticky
Style "XFbd*" Sticky
Style "Popup menu*" Sticky
Style "Alert*" Sticky
Style "Question*" Sticky
AddToMenu "Exit"
+ "&Restart " Restart xfwm
+ "&Quit "
Quit
+ ""
Nop
+ "&Cancel " Nop
AddToMenu "Window"
+ "&Move"
Move
+ "&Resize"
Resize
+ "(De)&Iconify" Iconify
+ "(Un)&Stick" Stick
+ "(Un)Ma&ximize" Maximize 100 100
+ ""
Nop
+ "&Close"
Delete
+ ""
Nop
+ "S&witch to..." WindowList
AddToMenu "Root"
+ "New window" Exec xterm
+ "Shuffle Up" Next [*] focus
+ "Shuffle Down" Prev [*] focus
+ "Refresh" Refresh
+ ""
Nop
+ "&Backdrop..." Exec xfbd -i
+ ""
Nop
+ "&Quit XFWM" Popup "Exit"
# This defines the most common window operations
AddToFunc "windowops-or-die"
+ "M" PopUp "Window"
+ "C" PopUp "Window"
+ "D" Close
# But Cont Mod Function
Mouse 1 R A Menu "Root"
Nop
Mouse 2 R A Menu "Window"
Nop
# But Cont Mod Function
Mouse 0 1 A Function
"windowops-or-die"
Mouse 2 I A Menu "Window" Nop
Key Left A SC CursorMove -1
0
Key Right A SC CursorMove +1 +0
Key Up A SC CursorMove
+0 -1
Key Down A SC CursorMove +0 +1
Key Left A SM CursorMove -10 +0
Key Right A SM CursorMove +10 +0
Key Up A SM CursorMove
+0 -10
Key Down A SM CursorMove +0 +10
Key F1 A M Popup
"Window"
Key F2 A M Popup
"Root"
Key F3 A M Lower
Key F4 A M Destroy
Key F5 A M Next
[*] focus
Key F6 A M Prev
[*] focus
Key F7 A M Move
Key F8 A M Resize
Key F9 A M Iconify
Key F10 A M Maximize
Key L5 IW N RaiseLower
Key L5 IW S Lower
Key L5 IW C Raise
Key L7 IW A Iconify