Na drie maanden ontwikkeling is de release van de composite server Niri 25.11 gepubliceerd, die de mozaĆÆek (tiling) lay-out methode implementeert in de stijl van de GNOME-uitbreiding PaperWM, waarbij vensters worden gegroepeerd in een eindeloze, op het scherm scrollende ribbon. Het openen van een nieuw venster zorgt voor een uitbreiding van de ribbon, terwijl eerder toegevoegde vensters hun grootte niet wijzigen. Het project is gebaseerd op het gebruik van het Wayland-protocol, maar staat het uitvoeren van X11-applicaties toe via de DDX-server Xwayland. De code van het project is geschreven in Rust en wordt verspreid onder de GPLv3-licentie. Pakketten worden samengesteld voor Fedora, NixOS, Arch Linux en FreeBSD.
Een fundamentele onderscheidende eigenschap van Niri ten opzichte van PaperWM is de koppeling van een eigen vensterbalk aan elk monitor, die niet overlapt met de balken op andere monitors (in PaperWM kan gescheiden werken met monitors niet worden gerealiseerd vanwege de koppeling aan globale venstercocordinaten in GNOME Shell). Niri ondersteunt HiDPI en kan werken op systemen met meerdere GPU's (bijvoorbeeld hybride systemen met een discrete grafische kaart en een geĆÆntegreerde GPU). Er is een ingebouwde interface voor het maken van screenshots en het opnemen van screencasts, waarvan de bijzonderheid is dat afzonderlijke vensters met vertrouwelijke informatie.
Virtuele desktops in Niri worden dynamisch aangemaakt en zijn, vergelijkbaar met GNOME, verticaal geplaatst (de vensterbalk draait horizontaal, terwijl de bureaubladbalk verticaal draait). Op elke monitor kan een onafhankelijke set virtuele desktops. Voor het schakelen tussen bureaubladen en vensters kunnen bediening gebaren op het touchpad worden gebruikt. Wanneer een monitor wordt uitgeschakeld, wordt de indeling van de virtuele bureaubladen opgeslagen en overgebracht naar de resterende monitor, en bij het terugkeren van de monitor wordt deze in de oorspronkelijke staat hersteld. De configuratie vindt plaats via een configuratiebestand, waarmee parameters zoals de breedte van de randen, marges, uitvoermodi en venstergroottes kunnen worden gewijzigd. Gewijzigde instellingen in het configuratiebestand worden automatisch toegepast zonder de composietserver opnieuw op te starten.

In de nieuwe versie:
- Een interface is toegevoegd om te schakelen tussen vensters met Alt+Tab, met een weergave van miniatuurweergaven tijdens het scrollen door de vensters. Het is mogelijk om vensters te tonen gekoppeld aan de huidige virtuele werkruimte (toets "w") of aan het uitvoerapparaat (toets "o"). Ook is de toetsencombinatie Alt+"`" beschikbaar om te schakelen tussen vensters van de huidige applicatie.

- Animatie-effecten zijn toegevoegd voor de overgang van een venster naar de volledig schermmodus en weer terug.
- Volledige ondersteuning voor het maximaliseren van vensters is geĆÆmplementeerd (voorheen werd alleen het maximaliseren van een venster tot de volle breedte met behoud van marges en randen ondersteund, en nu ondersteunt het maximaliseren met gebruik van het volledige beschikbare gebied zonder randen weer te geven). Maximaliseren gebeurt door op de bijbehorende knop bovenaan het venster te klikken of door dubbel te klikken op de titel.

- De mogelijkheid is toegevoegd om scroll-gebeurtenissen te genereren bij horizontaal slepen van de titel van een venster in de mozaĆÆeklay-out (verticaal slepen zorgt voor het verplaatsen van het venster, terwijl horizontaal scrollen leidt tot het scrollen van informatie in het venster).
- De mogelijkheid is geboden om afzonderlijke vensterlay-outconfiguraties te definiƫren, gekoppeld aan een specifiek uitvoerapparaat (monitor) of virtuele werkruimte.
- In de configuratiebestanden is de richtlijn "include" geĆÆmplementeerd voor het opnemen van de inhoud van andere bestanden.
- Ondersteuning voor externe monitoren die via de DisplayLink-poort zijn aangesloten, is toegevoegd.
- Wijzigingen zijn aangebracht die het knipperen van het scherm verminderen.
- Ondersteuning voor het definiĆ«ren van eigen videomodes voor uitvoerapparaten is toegevoegd, niet beperkt tot de modes die via EDID zijn doorgegeven. Bijvoorbeeld, āmode custom=true "1920Ć1080@100"ā.
- Ondersteuning voor het starten van een venessions in niri binnen WSL (Windows Subsystem for Linux) is toegevoegd.
Bron: opennet.ru


