Blue Flower

Le début de la configuration commence avec les couleurs et les polices de caractères :

#-------------------------------------------------#
# Choix des couleurs et des polices de caracteres #
#-------------------------------------------------#


# Couleur de forme (texte) et de fond (cadre de la fenetre)
# des fenetres inactives, des menus et du pageur.

# Les couleurs peuvent etre specifiees par leurs noms ou par leur
# nombre en hexadecimal.

# couleur des fenetres non actives

StdForeColor       white
#000000

StdBackColor       midnightblue
#60a0c0

# couleurs des fenetres actives

HiForeColor        Black

HiBackColor        red
#c06077

# couleurs du pager

StickyForeColor		Black
StickyBackColor		#60c0a0

# couleurs du menu

MenuForeColor           Black
MenuBackColor           grey

# Police utilisee dans la barre des menus

Font               -adobe-helvetica-medium-r-normal-*-*-120-*

# Police utilisee dans la barre de titres

WindowFont         -adobe-helvetica-bold-r-normal-*-*-120-*

# Police utilisee dans les icones

IconFont        fixed

On peut ensuite configurer le bureau virtuel :

#-----------------------------#
# Parametres de configuration #
#-----------------------------#


# Pour faire passer en haut de la pile la fenetre rendue active
# apres 150 ms.

AutoRaise 150

# Cliquer sur la fenetre au lieu de deplacer la souris sur la fenetre
# pour l'activer (c'est a dire pour qu'elle puisse recevoir des entrees
# du clavier).
# En commentaires : c'est le deplacement du curseur sur la fenetre qui
# determine la selection d'une fenetre, au lieu d'un clic sur le boutton
# gauche pour l'activer.

# ClickToFocus

# Emulation de mwm

# MWMFunctionHints
# MWMHintOverride
# MWMDecorHints
# OpaqueMove 0

# les fichiers tels que 4Dwm.fvwmrc ou mwm.fvwmrc emule un gestionnaire
de fenetre comme 4Dwm ou mwm. Il sont en general situes dans le
# repertoire /usr/X11R6/lib/X11/fvwm. Pour les utiliser, il faut les
# copier dans ce fichier (les remplacer par celui-ci), puis relancer
# fvwm...

# Epaisseur en pixels du cadre entourant la fenetre
# (6 par defaut)

BoundaryWidth      3

# Configuration du bureau virtuel

# Six ecrans de large sur six ecrans de haut

DeskTopSize  6x6

# Echelle de reduction dans la vue d'ensemble, le pageur
# (ici 1/50eme)

DeskTopScale 50

# Mise en service du pageur dans le coin inferieur droit, a 10 pixels
# de chaque bord

Pager        5 -5

# Pourcentage de defilement lorsque la souris a atteint le bord
# de l'ecran (100 100 = ecran entier)

EdgeScroll 10 10

# Temps et profondeur avant deplacement (en ms)

EdgeResistance 10 10

# Placement aleatoire des fenetres dont la position n'est pas specifiee

# RandomPlacement

# Pour eviter les maux de tete

NoPPosition

# Taille maximum (en pourcentage de la taille du bureau) des fenetres qui
# seront deplacees en solide.
# 0 : toutes les fenetres seront avec des contours elastiques
# 100 : toutes les fenetres seront deplacees en fenetres solides

OpaqueMove 0

Viennent ensuite les définition des caractéristiques de chaque fenêtre :

# Definitions des caracteristiques de chaque fenetre

# pour que Xbiff reste toujours visible au dessus des autres fenetres

Style "XBiff" StaysOnTop

Les options de Style sont les suivantes :

OptionSignification
NoTitle Supprime le titre (utilisé pour xclock ou xbiff, par exemple).
NoBorder Élimine le cadre autour de la fenêtre.
Sticky Colle la fenêtre à l'écran (elle apparaîtra toujours à la même place, quelque soit le bureau virtuel).
BoundaryWidth Spécifie l'épaisseur en pixels du cadre entourant la fenêtre (6 par défaut).

Il faut fournir en argument à Style des titres de fenêtres ou des classes d'applications.

Les fenêtres peuvent être mises sous la forme d'icônes. En voici les spécifications :

# Region de l'ecran ou les icones seront rangees
# coin-haut-gauche coin-bas-droite

IconBox -150 90 -5 -140

# Police de caracteres employee dans les icones

IconFont -adobe-helvetica-medium-r-*-*-*-120-*


#-----------------#
# Chemins d'acces #
#-----------------#


# Chemin d'acces des images bitmaps (XBM)
# On peut specifier plusieurs repertoires, comme
#
#    $HOME/bitmaps:/usr/X11R6/include/X11/bitmaps
#
# par exemple

IconPath /usr/X11R6/include/X11/bitmaps

# Chemin d'acces des images pixmaps (XPM)

PixmapPath /usr/X11R6/include/X11/pixmaps

# Chemin d'acces des modules

ModulePath /usr/lib/X11/fvwm/


#--------#
# Styles #
#--------#


# Image par defaut. Le chemin est relatif a IconPath ou PixmapPath,
# il peut etre donne en absolu

Style "*" BorderWidth 5, HandleWidth 5, Color Black/#60a0c0, Icon unknown.xpm
Style "Fvwm*" NoTitle, Sticky, WindowListSkip
Style "Fvwm Pager" StaysOnTop
Style "GoodStuff" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0
Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip
Style "Maker" StartsOnDesk 1
Style "signal" StartsOnDesk 3
Style "rxvt" Icon term.xpm
Style "ddd" StartsOnDesk 2


# Images attribuees a differentes applications

Style "XTerm" Icon xterm.xpm, Color black/grey
# Style "Mosaic" Icon mosaic.xpm

Style "GoodStuff" Icon toolbox.xpm

# Dessin des boutons des fenetres

# Bouton 3 : losange.

# Bouton 5 : pentagone.

# Les coordonnees sont en pixels.

# @1 : couleur plus lumineuse   |
#				| --> relief
# @0 : couleur plus sombre	|

ButtonStyle : 3 50x35@1 65x50@0 50x65@0 35x50@1 50x35@1
ButtonStyle : 5 50x35@1 65x50@0 65x65@0 50x65@0 35x50@1 50x35@1

Si la version de fvwm est trop ancienne, Style n'est pas reconnu et la section Icon doit être modifiée comme suit :

Icon '''' unknown.xpm
Icon ''Xterm'' xterm.xpm
Icon ''Mosaic'' mosaic.xpm

La section suivante définit les fonctions. Chacune doit ensuite être associée à un bouton ou une touche du clavier dans la section Association de boutons et de touches plus loin dans le fichier.

#-----------#
# Fonctions #
#-----------#


# L'evenement associe a la fonction peut etre :
#	* "I" : execute la fonction des que le gestionnaire de 
#	        fenetres est initialise;
#	* "Click" : un simple click;
#	* "DoubleClick" : un double click;
#	* "Motion" : click en bougant la souris;

Function "InitFunction"
 	Exec	"I"	exec rxvt -geometry +1200+10 &
        Module  "I"     GoodStuff
  	Module	"I"	FvwmPager 0 3
 	Module	"I"	FvwmWinList
EndFunction

Function "Move-or-Raise"
Move "Motion"
# Raise "Motion"
Raise "Click"
# RaiseLower "DoubleClick"
EndFunction

# Agrandit la taille de la fenetre :
#	* de 80% en hauteur si on clique une fois
#	* de 100% en hauteur si on clique en bougant le souris
#	* de 100% en hauteur et 100% en largeur si on clique deux fois

Function "maxi_fenetre"
Maximize "Click" 0 80
Maximize "Motion" 0 100
Maximize "DoubleClick" 100 100
EndFunction