Configuration de FVWM
Vincent Bernat
Il y a actuellement pas mal de bruit autour de GNOME 3 ainsi que de la dernière release d’Ubuntu qui utilise désormais Unity au lieu de GNOME. Cela me paraît donc le moment idéal de poster un billet pour indiquer que j’utilise toujours FVWM dont la dernière version a été publiée il y a un mois.
FVWM est un gestionnaire de fenêtres très vieux. Tellement vieux que personne ne sait vraiment ce que signifie le F. Il est livré avec une configuration par défaut plutôt désuète mais il est possible de le rendre encore plus moche. Toutefois, FVWM est très puissant et totalement paramétrable. De plus, il est désormais plutôt léger en mémoire et en CPU.
Ma configuration#
Ma configuration de FVWM est disponible sur GitHub. Elle
nécessite l’installation de fvwm-crystal
. Si vous utilisez Debian ou
Ubuntu, il y a déjà un paquet pour ça. fvwm-crystal est un ensemble
de fichiers de configuration particulièrement corsés. Cela permet de
choisir parmi de nombreux thèmes et de configurer pas mal de
détails. Malheureusement, il semble que le site du projet a
disparu. Les
sources sont toujours disponibles sur les miroirs Debian.
Tout ceci est assez impressionnant, mais si, comme moi, vous aimez plutôt les trucs minimalistes sans crouler sous les icônes et les menus, il va falloir écrire sa propre recette pour obtenir quelque chose de plus simple. Ce qui est assez bien pensé avec fvwm-crystal est qu’il est possible de superposer sa configuration pour en modifier le comportement. Si un fichier de configuration existe dans votre home, c’est celui-ci qui sera utilisé au lieu de celui du système. Modifier ce qui nous déplaît est donc généralement facile.
Ce qui est intéressant à voler dans ma configuration est la possibilité de modifier la configuration selon que vous soyiez dans une configuration avec un ou deux écrans. Avec un écran, on a :
- une barre de lancement en haut à gauche,
- un gestionnaire d’icônes (qui accueille les applications minimisées) en haut à droite,
- la barre de notification juste à sa gauche,
- les bureaux virtuels juste en-dessous,
- deux barres des tâches, l’une pour les applications normales et l’autre pour les terminaux (que j’ai souvent en plus grand nombre).
Avec deux écrans, l’agencement est différent. Les barres des tâches sont chacune sur leurs propres écrans. Les bureaux virtuels se retrouvent à cheval entre les deux écrans et le reste se trouve en haut à gauche sur l’écran de droite.
Si je suis sur mon portable avec un seul écran et que je branche un écran externe, il me suffit de deux commandes pour reconfigurer mon environnement de travail sans fermer une seule application :
$ xrandr --output VGA-1 --auto --output DVI-I-1 --auto --right-of VGA-1 $ killall trayer ; FvwmCommand Restart
J’utilise également conky, un moniteur système plutôt
léger. Il est toutefois démarré via mon .xsession
et non pas via
FVWM.
Fonds d’écran & dual-screen#
En dual-screen, la construction d’un fond d’écran peut s’avérer assez compliquée. Les deux écrans peuvent être de tailles différentes et ne pas avoir le même ratio. Comme je change mes fonds d’écran toutes les heures, j’ai écrit un petit script pour gérer ce problème. Il s’utilise comme ceci :
$ ./build-wallpaper.py -d ~/.fvwm/wallpapers -c -t ~/tmp/mywallpaper.png
Il va :
- sélectionner autant de fonds d’écran qu’il n’y a d’écrans,
- assigner chaque fond à un écran,
- redimensionner l’image pour s’adapter à l’écran (en la coupant ou en la centrant au besoin si le ratio n’est pas adapté à l’écran).
Ce script a besoin des paquets python-xpyb
et python-imaging
pour
fonctionner.
Mise à jour (05.2011)
Thomas Adam m’indique l’existence de Nitrogen, un outil graphique permettant de configurer le papier peint de son bureau et supportant les configurations avec plusieurs écrans. Il ne permet cependant pas de sélectionner aléatoirement une image.
Mise à jour (09.2021)
J’utilise actuellement une version mise à jour de ce script avec i3.
Je récupère désormais la plupart de mes fonds d’écran sur InterfaceLIFT.