Le lancement de la version 25.08 du serveur composite Niri a été publié, implémentant une méthode de disposition mosaïque (tiling) comme dans l'extension GNOME PaperWM, où les fenêtres sont regroupées dans une bande déroulante infinie à l'écran. L'ouverture d'une nouvelle fenêtre étend la bande, sans changer la taille des fenêtres déjà ouvertes. Le projet est basé sur l'utilisation du protocole Wayland, mais permet d'exécuter des applications X11 via le serveur DDX Xwayland. Le code du projet est écrit en Rust et est distribué sous la licence GPLv3. Des paquets sont disponibles pour Fedora, NixOS, Arch Linux et FreeBSD.
La principale différence entre Niri et PaperWM est que Niri associe à chaque moniteur sa propre bande de fenêtres, qui ne se chevauche pas avec celles des autres moniteurs (dans PaperWM, le travail séparé avec plusieurs moniteurs n'est pas réalisable en raison de l'attachement aux coordonnées de fenêtre globales dans GNOME Shell). Niri prend en charge le HiDPI et peut fonctionner sur des systèmes avec plusieurs GPU (par exemple, les systèmes hybrides avec une carte graphique dédiée et un GPU intégré). Une interface intégrée permet de prendre des captures d'écran et d'enregistrer des screencasts, avec la possibilité d'exclure des fenêtres particulières de l'enregistrement. contenant des informations confidentielles.
Les bureaux virtuels dans Niri sont créés dynamiquement et sont disposés verticalement, à l'instar de GNOME (la bande de fenêtres pivote horizontalement, tandis que la bande des bureaux l'est verticalement). Un ensemble indépendant de bureaux peut être affiché sur chaque moniteur des bureaux virtuels. Pour passer d'un bureau à d'autres ou entre fenêtres, on peut utiliser des gestes de contrôle sur le touchpad. Lorsque le moniteur est débranché, la disposition des bureaux virtuels est mémorisée et transférée sur le moniteur restant, et lors du retour du moniteur, elle est restaurée dans son état initial. La configuration se fait via un fichier de configuration, permettant de changer des paramètres tels que la largeur des bordures, les marges, les modes de sortie et les tailles des fenêtres. Les modifications apportées au fichier de configuration sont appliquées automatiquement sans redémarrer le serveur composite.

Dans la nouvelle version :
- Pour exécuter des applications X11 en utilisant Xwayland, le composant intégré xwayland-satellite permet d'utiliser des fenêtres X11 sur une session Wayland sans nécessiter l'ajout de fonctionnalités de gestion de fenêtres spécifiques à X11, telles qu'un système de coordonnées global. Grâce à xwayland-satellite, des jeux, Steam, Proton, les IDE de JetBrains, Ghidra, les applications basées sur Electron et la plupart des autres clients X11 s'exécutent sans problème.
- Ajout de la prise en charge des lecteurs d'écran. Pour faire fonctionner le projet Orca, une interface D-Bus org.freedesktop.a11y.KeyboardMonitor a été mise en œuvre pour intercepter les frappes au clavier. Grâce à AccessKit, il est possible d'exécuter des commandes vocales pour changer de bureau, confirmer des déconnexions, créer des captures d'écran et activer des raccourcis clavier. Pour activer et désactiver Orca, une combinaison de touches Super+Alt+S a été ajoutée.
- Ajout d'une boîte de dialogue modale de confirmation de fin de session, qui applique un assombrissement en arrière-plan lorsque activée, et utilise un effet animé lors de l'ouverture/fermeture.

- Lors de la création de captures d'écran, l'interface a été étendue pour permettre la sélection de la zone d'intérêt et de la fenêtre à capturer, ajoutant le support des configurations multi-écrans et du contrôle depuis des écrans tactiles. Les problèmes de scintillement lors de l'enregistrement de screencasts sur des systèmes avec cartes graphiques NVIDIA ont été résolus.

- La possibilité d'obtenir des informations sur la disposition du clavier via systemd-localed a été mise en œuvre en utilisant l'interface D-Bus org.freedesktop.locale1, ce qui permet d'utiliser les paramètres de disposition sélectionnés à l'installation sans nécessiter de configuration XKB distincte.
- Ajout de la prise en charge du protocole Wayland ext-workspace, qui implémente des événements contenant des informations sur l'état des bureaux virtuels, ainsi que des possibilités d'activation et de désactivation des bureaux. Le support de ext-workspace a permis d'assurer la compatibilité de l'indicateur de bureaux avec d'autres serveurs composites et d'utiliser le module ext/workspaces dans Waybar 0.14, ainsi que dans les futures versions de sfwbar et xfce4-panel.
- Ajout de la prise en charge de la deuxième version du protocole Wayland cursor-shape, qui offre une alternative pour configurer l'apparence du curseur en transmettant une série d'images de curseurs au lieu de l'associer à une surface (wl_surface).
- Des fonctionnalités ont été ajoutées à l'interface IPC pour gérer la position et la taille des fenêtres.
- Un service D-Bus a été mis en place pour empêcher l'activation automatique de l'économiseur d'écran lors de la lecture de vidéos dans des programmes tels que VLC.
- Un logo pour le projet a été créé et un wiki avec la documentation a été lancé.

Source : opennet.ru



