Extensions du shell - Qt Wayland Compositor
Dans Wayland, les shells sont des extensions qui fournissent une sémantique de surface. Cela signifie qu'ils permettent au serveur et au client de communiquer sur les surfaces. Dans ce contexte, les surfaces sont souvent appelées "fenêtres", ce qui correspond généralement à la représentation de la surface dans le compositeur.
Les extensions du shell fournissent des outils permettant au client et au serveur de communiquer sur certaines choses :
- Elles peuvent permettre au client d'informer le serveur de l'objectif d'une surface : S'agit-il d'une info-bulle, d'un menu contextuel ou d'une fenêtre d'application ordinaire, par exemple ? Sur cette base, le serveur peut décider de la géométrie de la fenêtre et de la manière dont l'utilisateur peut interagir avec elle.
- Il peut également fournir des protocoles de manipulation de la surface, tels que le redimensionnement, le déplacement et le masquage.
Comme d'autres extensions, la prise en charge des shells est ajoutée à un compositeur en les instanciant en tant qu'enfants directs de l'objet de premier niveau WaylandCompositor. Les extensions de shells prises en charge par Qt sont les suivantes : WlShell, XdgShell et IviApplication.
- XdgShell est un shell approprié pour les systèmes de type bureau, où un nombre quelconque d'applications peuvent se connecter et où les fenêtres peuvent être redimensionnées et repositionnées manuellement par l'utilisateur.
- IviApplication est un protocole minimaliste, destiné à l'origine aux systèmes In-Vehicle Infotainment. Il est utile pour les systèmes embarqués, où un ensemble prédéfini d'applications peut être exécuté, souvent avec une surface d'écran pré-attribuée. Pour plus de détails sur ce protocole, voir l'exemple IVI Compositor.
- QtShell est un shell spécialisé pour les applications Qt qui prend en charge les fonctionnalités de gestion des fenêtres disponibles dans Qt. Il peut convenir sur une plateforme où le compositeur et les applications clientes sont écrits avec Qt, et où les applications sont censées ne pas abuser de fonctionnalités telles que le positionnement manuel des fenêtres et le "bring-to-front".
- WlShell est surtout utile pour la compatibilité avec des applications tierces. Il s'agit également d'un shell de type bureau, mais il a été déprécié et remplacé par XdgShell.
Lors de la conception d'un système embarqué à partir de la base, il n'y a pas de règles déterminant l'extension de l'interpréteur de commandes à utiliser. Il s'agira généralement de XdgShell ou IviApplication. La décision doit être influencée par les fonctionnalités dont le système aura besoin et par la présence éventuelle d'applications qui ne sont pas écrites en Qt et qui ont leurs propres exigences.
Un site Qt Wayland Compositor peut également prendre en charge plusieurs extensions de shell à la fois. Voir l'exemple de QML minimal pour un exemple où les trois extensions de shell énumérées ci-dessus sont prises en charge.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.