Après six mois de développement, la première version préliminaire du serveur de composition Xfwl4, utilisant le protocole Wayland, est disponible. Xfwl4 est écrit en Rust avec la bibliothèque Smithay. La création de ce nouveau serveur de composition fait suite à l'échec de la tentative d'implémenter une prise en charge simultanée de X11 et Wayland dans le gestionnaire de fenêtres xfwm4 existant. Ce dernier avait été conçu initialement pour une intégration étroite du protocole X11, rendant difficile la séparation de la logique générale de gestion des fenêtres et des fonctionnalités spécifiques à X11.
Xfwl4 est développé entièrement à partir de zéro et n'empiète pas sur le code source du gestionnaire de fenêtres xfwm4. Il vise cependant à implémenter toutes les fonctionnalités existantes de xfwm4, notamment la possibilité d'utiliser les paramètres xfconf et l'interface de configuration, tout en tenant compte des spécificités de Wayland par rapport à X11. L'objectif est d'améliorer les fonctionnalités de Xfwl4 au point de permettre aux utilisateurs de passer de Xfwl4 à xfwm4 de manière transparente.
Les fonctionnalités étendues de Xfwl4 comprennent une refonte importante de la logique de démarrage de session, l'implémentation du protocole de gestion de session Wayland xdg et la prise en charge du lancement d'applications X11 via XWayland. Le code de Xfwl4 est distribué sous licence GPLv3 (à titre de comparaison, le gestionnaire de fenêtres xfwm4 est distribué sous licence GPLv2).
Xfwl4 repose sur la bibliothèque Smithay, qui implémente la quasi-totalité des extensions officielles du protocole Wayland, ainsi que les protocoles wlroots et KDE. Smithay est utilisée dans des projets tels que Cosmic et Niri. À l'instar de wlroots, Smithay offre des abstractions de haut niveau tout en permettant d'interagir avec les systèmes de bas niveau et de personnaliser les méthodes de sortie graphique, la gestion des périphériques d'entrée, le comportement du protocole Wayland et le rendu du bureau. Le langage Rust a été choisi car il limite les erreurs de gestion de la mémoire et réduit le risque de plantage.
Le projet d'ajout progressif de la prise en charge de Wayland à xfwm4 a été abandonné en raison des risques de réduction de la stabilité et d'introduction de nouveaux bogues lors de la refonte. Il s'est avéré plus simple de conserver xfwm4 lié à X11 et de développer simultanément une nouvelle architecture composite. serveur pour Wayland. Les raisons de la création d'un nouveau serveur L'impossibilité d'adapter certains concepts de gestion des fenêtres X11 à Wayland et la nécessité d'utiliser le langage C et la bibliothèque wlroots si le développement de xfwm4 se poursuit, malgré l'existence de meilleures alternatives, sont également mentionnées.
La première version de Xfwl4 est en version alpha et ne comprend pas toutes les fonctionnalités prévues. Parmi les fonctionnalités non disponibles dans cette première version test :
- Boîte de dialogue des paramètres de la souris et du pavé tactile.
- Boîte de dialogue Paramètres bureaux virtuels.
- Définissez les zones sur les bords de l'écran où les fenêtres ne sont pas autorisées.
- Réduit la fenêtre, affichant l'icône et le menu qui apparaissent lorsque vous cliquez sur le bouton central de la souris.
- Afficher dans le panneau des vignettes du contenu des bureaux virtuels.
- Raccourcis clavier pour basculer entre les applications et les fenêtres d'application.
- Restaurer l'emplacement précédent des fenêtres après le redémarrage des applications.
Source: opennet.ru
