De release van de samengestelde server Niri 0.1.5 is gepubliceerd, geĆÆnspireerd door de GNOME-uitbreiding PaperWM en implementeert een mozaĆÆek (tiling) indelingsmethode, waarbij vensters worden gegroepeerd in een eindeloos scrollende balk op het scherm. Het openen van een nieuw venster leidt tot een uitbreiding van de balk, terwijl eerder toegevoegde vensters nooit van grootte veranderen. De code van het project wordt verspreid onder de GPLv3-licentie. Pakketten zijn samengesteld voor Fedora, NixOS, Arch Linux en FreeBSD.
De reden voor het creëren van een aparte composietmanager is de onmogelijkheid om in PaperWM apart met monitoren te werken vanwege de binding aan globale venstercoördinaten in GNOME Shell. Een fundamenteel verschil tussen Niri en PaperWM is de koppeling aan elke monitor met een eigen vensterbalk, die niet met elkaar overlappen. Niri ondersteunt HiDPI en kan werken op systemen met meerdere GPU's (bijvoorbeeld hybride systemen met een aparte grafische kaart en een geïntegreerde GPU).
Net als in GNOME worden virtuele bureaubladen in Niri dynamisch aangemaakt en verticaal geplaatst (de vensterbalk draait horizontaal, terwijl de bureaubladenbalk verticaal draait). Op elke monitor kan een onafhankelijke set worden weergegeven. virtuele desktops. Voor het wisselen tussen bureaubladen kunnen gebaren op het touchpad worden gebruikt. Bij het uitschakelen van een monitor wordt de indeling van de virtuele bureaubladen onthouden en naar de resterende monitor overgebracht, en bij het terugkeren van de monitor wordt deze hersteld naar de oorspronkelijke staat.

Niri is gebaseerd op het gebruik van het Wayland-protocol, maar stelt ook in staat om X11-toepassingen te starten met behulp van de DDX-server Xwayland. Er is een ingebouwde interface voor het maken van screenshots en het opnemen van screencasts, waarbij het mogelijk is om specifieke vensters met vertrouwelijke informatie uit de opname uit te sluiten.
Configuratie gebeurt via een configuratiebestand, waarmee basisparameters van de omgeving kunnen worden gewijzigd, zoals de breedte van de randen, marges, weergavemodi en venstergroottes. Wijzigingen in het configuratiebestand worden automatisch toegepast zonder de samengestelde server opnieuw op te starten. Er wordt ondersteuning geboden voor gebaren op het touchpad. Configuratiewijzigingen worden on-the-fly toegepast zonder de samengestelde server opnieuw op te starten.
De nieuwe versie kenmerkt zich door de implementatie van nieuwe geanimeerde effecten bij het manipuleren van vensters, evenals door de realisatie van veerkrachtige effecten (spring animation). Animatie wordt nu toegepast bij het verplaatsen, wijzigen van de grootte en sluiten van vensters. Voor degenen die zich storen aan de geanimeerde effecten is er in het configuratiebestand een parameter voorzien om animaties uit te schakelen of elke effect aan te passen aan persoonlijke voorkeuren.
Onder andere vernieuwingen:
- Ondersteuning voor uitvoer met variabele bitrate (VRR, variable refresh rate) is toegevoegd.
- De mogelijkheden van de IPC-interface, gebruikt voor de interactie met externe systemen met de composiet, zijn uitgebreid. server.
- Een parameter allow-when-locked=true is toegevoegd om toetsencombinaties te definiƫren die blijven werken tijdens het vergrendelen van het scherm.
- Herstel van de vorige vensterpositie na terugkeer uit de volledig scherm modus is gegarandeerd.
- Versteviging van de muiscursor tijdens interactie met het aanraakscherm is gerealiseerd.
- Een voorbeeld van configuratie voor het uitschakelen van de microfoon is toegevoegd.
Bron: opennet.ru
