Je vais peut-être vous embrouiller davantage, mais je vais ajouter quelques mots à cette liste. J'ai essayé de mettre en évidence les mots à la mode tout en brossant un tableau de la façon dont les choses s'imbriquent les unes dans les autres.
Gestionnaires de fenêtres
Cela peut paraître idiot, mais les gestionnaires de fenêtres gèrent votre Windows. Ils se trouvent juste à côté du serveur X (qui contrôle ce qui est envoyé au matériel) et décident de la manière dont les fenêtres sont peintes sur le bureau (qui est lui-même un type de fenêtre).
Outre la gestion de l'emplacement de la fenêtre, de sa taille et de son emplacement au-dessus d'autres éléments, il est également responsable de la décoration. La plupart des gestionnaires de fenêtres s'en remettent à une autre application appelée décorateur de fenêtres . Elles déterminent l'aspect des bordures de votre fenêtre et vous offrent certaines options (redimensionnement, boutons de fenêtre, etc.).
Métacité (un gestionnaire de fenêtres) a son propre décorateur de fenêtre intégré, mais les autres décorateurs de fenêtre que vous pouvez rencontrer sont les suivants gtk-window-decorator
(utilisé par défaut par Compiz) et Émeraude Le système de gestion de l'information est un système de gestion de l'information, issu de Beryl, qui peut faire des choses un peu plus fantaisistes au prix de cycles de l'unité centrale.
Béryl , Métacité , Compiz sont tous gestionnaires de fenêtres . Beryl était un dérivé du Compiz original. Il a progressé bien avant Compiz et a finalement été fusionné pour former un projet appelé Compiz-Fusion. Compiz-Fusion a maintenant (AFAIK) été renommé Compiz, bien que les deux noms s'appliquent toujours au même projet moderne.
Boîtes à outils graphiques
GTK+ (alias GTK) est une boîte à outils graphique que les développeurs utilisent pour créer des interfaces utilisateur graphiques riches. À l'aide d'outils tels que Glade, ils décident de l'apparence d'une application en plaçant des contrôles GTK+ (par exemple un bouton) sur une fenêtre, en utilisant d'autres technologies d'arrangement telles que Glade.
GTK+ contient également plusieurs sous-projets tels que Le Caire y Pango deux bibliothèques graphiques que les programmeurs peuvent utiliser pour dessiner des objets dans leurs applications. À leur tour, ces bibliothèques peuvent faire appel à d'autres bibliothèques pour les aider à effectuer des rendus (comme l'utilisation de Freetype pour restituer le texte).
Les bibliothèques de développement GTK+ sont un puits sans fond. Je pourrais littéralement passer toute la journée à les énumérer, mais cela ne vous aiderait pas vraiment. Je ne le ferai donc pas.
Une partie de la manière dont ces contrôles sont rendus à l'écran implique une fonction moteur de thème . Chaque moteur a n thèmes disponibles et l'utilisateur en choisit un dans ses préférences. Ce thème utilise son moteur pour permettre aux contrôles de s'afficher à l'écran. Vue d'ensemble y Murrine sont tous deux des moteurs et ils ont tous deux des thèmes qui portent leur nom, ainsi qu'une tonne d'autres thèmes qui circulent sur l'internet.
La pile ressemblerait à ceci, de bas en haut :
- Contrôle GTK
- Le moteur GTK+ et son thème GTK
- Application (client du serveur X)
- Décorateur de fenêtres
- Gestionnaire de fenêtres (alias compositeur)
- Serveur X Window
- Matériel
C'est ultra-simplifié (je viens d'expliquer un système de composition) et beaucoup de ces choses peuvent se produire dans des ordres différents, souvent en parallèle plutôt qu'au-dessus ou au-dessous d'une autre couche... Mais cela devrait vous donner une idée de la manière dont les choses passent du code à l'écran.
Qt est une autre boîte à outils graphique très répandue dans les applications KDE. Elle possède ses propres moteurs de thématisation, thèmes et contrôles qui sont similaires à ceux de GTK+. Ils ne sont pas interchangeables et nécessitent de lourdes révisions de code pour être portés d'une boîte à outils à l'autre.