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
gestonnaire 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 même quelques 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.. |
La fenêtre "active" est celle qui possède le focus. Les autres fenêtres sont cosidé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 |
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 |
![]() |
![]() |
![]() |
![]() |
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 |
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 |
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 |
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 |
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 |
MenuFont
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
WindowFont
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
IconFont
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
CursorColor red white
Style "*"
RandomPlacement
Style "*"
ClickToFocus
Style "*"
DecorateTransient
Style "*"
BorderWidth 5
Style "Fvwm*" NoTitle, Sticky
Style "XFce*" NoTitle, 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