Window manager (Français)
Un "gestionnaire de fenêtres" est un logiciel qui gère la position et l'aspect des fenêtres dans une interface graphique (GUI). Il faut le distinguer de l'environnement de bureau, bien qu'il puisse y être intégré, dans certains cas.
Aperçu
Fonctions et principe
Les gestionnaires de fenêtres sont des clients X-Window qui gèrent la position et l'aspect des cadres exclusifs appelés "fenêtres" où les différentes applications graphiques affichent leur menus, widgets et zone de dessin (canvas). Ils déterminent notamment la taille, l'aspect et le comportement de la bordure des fenêtres, de leur barre de titre, la taille des fenêtres et la possibilité de les redimensionner ; ils peuvent réserver des zones d'écran déterminées, par exemple pour y ancrer un dockapps comme Window Maker, ou reposer sur le défilement des fenêtres comme Fluxbox. Certains gestionnaires de fenêtres comportent même parfois certains utilitaires simples du genre menu contextuel, pour lancer des programmes ou configurer le gestionnaire lui-même.
La façon dont les gestionnaires de fenêtres doivent interagir avec le serveur graphique X et ses applications-clientes est spécifiée par un document de freedesktop, l'Extended Window Manager Hints.
Certains gestionnaires de fenêtres sont partie intégrante d'un environnement de bureau, le plus souvent pour améliorer l'interactivité des applications graphiques entre elles, ce qui donne à l'utilisateur une impression de meilleure finition au niveau de la gestion des icônes et raccourcis, des fontes, des barres d'outil, du fond d'écran ou des widgets genre calendrier.
D'autres gestionnaires de fenêtres sont, au contraire, conçus comme des applications polyvalentes, modulaires et autonomes, laissant à l'utilisateur le choix entier des autres composants de son système. L'intérêt est d'aboutir à un environnement graphique généralement plus léger en RAM, et en tous cas adapté aux besoins. Il faudra généralement ajouter d'autres programmes pour utiliser des icones, une barre d'outil, un fond d'écran spécifique ou certains utilitaires de bureau (calendrier, météo, connexion internet). Dans quelques cas précis, ces gestionnaires autonomes peuvent se substituer au gestionnaire par défaut d'un environnement de bureau ; de même que certains gestionnaires de fenêtres par défaut peuvent être utilisés pour eux-mêmes, sans l'environnement de bureau correspondant.
Avant toute installation d'un gestionnaire de fenêtres, il faut un serveur X opérationnel : cf. Xorg sur ce point.
Compositeur
Le compositeur est un élément critique de tout gestionnaire de fenêtres : c'est le logiciel qui attribue à chaque fenêtre graphique une zone-mémoire tampon pour y gérer les différentes couches graphiques. Il assure le masquage des parties cachées et le rappel sans perte des couches d'arrière-plan, enchaîne les images animées et applique les attributs de transparence et de flou. Une fois la composition effectuée, le compositeur affiche le résultat à l'écran. En coordonnant les affichages, le compositeur élimine les défauts de recouvrement (tearing). Toutes les fenêtres sont donc soumises au traitement du compositeur, de sorte que la fluidité d'un environnement de bureau repose de façon déterminante sur la performance en temps d'exécution du compositeur.
Début | Compositeur | Bibl. graph. | Commentaires | |
---|---|---|---|---|
Gnome 3 | 1996 | Mutter, mwm | GTK3 | |
KDE | 1998 | KWin | Qt5 | |
MATE | 2012 | Marco | GTK+ | |
Xfce4 | 1996 | Xfwm | GTK+ | |
X Window | 1987 | TWM | X11.R6 |
De ce point de vue, l'environnement GNOME3 présente des performances médiocres, principalement parce que son gestionnaire de fenêtres, Mutter, travaille sur le même fil d'exécution que son compositeur. Cela se traduit par exemple par le gel du curseur à l'ouverture d'une application.
Types
- Les gestionnaires de fenêtre flottants représentent la forme la plus traditionnelle des environnements de bureau, popularisée par les OS des années 1980 comme MS Windows et BSD. Dans ce système, les fenêtres se comportent comme des feuilles volantes qui peuvent se recouvrir mutuellement, souvent partiellement. On bascule d'une fenêtre à l'autre en cliquant dans l'espace graphique de la fenêtre désirée avec la souris. Ce dispositif présente quelques inconvénients, comme le fait de ne pouvoir "attraper" une fenêtre parce qu'elle est trop petite ou que sa zone graphique est sortie de l'écran.
- Les gestionnaires de fenêtres par pavage (ou "en tuiles") cherchent à remédier au défaut d’accessibilité des fenêtres flottantes en rendant toutes les fenêtres visibles sans qu'elles se superposent. Ils reposent beaucoup sur les raccourcis-clavier et négligent l'usage de la souris. Les raccourcis-clavier peuvent être prédéfinis, ou nécessiter un choix d'option par l'utilisateur.
- Les gestionnaires de fenêtres dynamiques basculent entre les deux systèmes précédents selon l'endroit où l'utilisateur clique avec la souris. Le comportement rappelle celui d'un écran de téléphone portable.