De release van de samengestelde server Niri 0.1.10 is gepubliceerd, die de mozaĆÆsche (tiling) lay-outmethode implementeert in de stijl van de GNOME-extensie PaperWM, waarin vensters worden gegroepeerd in een oneindig scrollende strook op het scherm. Het openen van een nieuw venster leidt tot de uitbreiding van de strook, terwijl eerder toegevoegde vensters hun grootte niet veranderen. Het project is gebaseerd op het gebruik van het Wayland-protocol, maar maakt het mogelijk om X11-applicaties te draaien via de DDX-server Xwayland. De code van het project wordt verspreid onder de GPLv3-licentie. Pakketten worden samengesteld voor Fedora, NixOS, Arch Linux en FreeBSD.
Het belangrijkste verschil tussen Niri en PaperWM is de toewijzing van een eigen vensterstrip aan elke monitor, die niet overlapt met de strips op andere monitors (in PaperWM kan gescheiden werken met monitors niet worden gerealiseerd vanwege de toewijzing aan globale venstercoördinaten in GNOME Shell). Niri ondersteunt HiDPI en kan draaien 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, met als kenmerk de mogelijkheid om specifieke vensters met vertrouwelijke informatie uit de opname te uitsluiten.
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 besturing gebaren op het touchpad worden gebruikt. Bij het uitschakelen van de monitor wordt de indeling van de virtuele bureaubladen onthouden en overgezet naar de resterende monitor, en wanneer de monitor wordt hersteld, wordt deze weer in de oorspronkelijke staat hersteld. De configuratie wordt uitgevoerd via een configuratiebestand, waarmee parameters zoals de breedte van randen, marges, uitvoermodi en venstergroottes kunnen worden gewijzigd. Wijzigingen in het configuratiebestand worden automatisch toegepast zonder de samengestelde. de server.

In de nieuwe versie:
- Een interactieve vensterverplaatsingsmodus is toegevoegd, waarmee een venster kan worden verplaatst naar een nieuwe positie door de titelbalk van het venster met de muis of door aanraking op het aanraakscherm vast te houden. Om onbedoelde indelingswijzigingen te voorkomen wanneer de verplaatsing begint, moet een bepaalde weerstanddrempel worden overwonnen voordat het venster van zijn huidige positie wordt losgemaakt.
- De mogelijkheid is toegevoegd om opdrachten te koppelen aan de gebeurtenissen van het openen of sluiten van de laptopdeksel of het overschakelen van de laptop naar de tabletmodus. Bijvoorbeeld, na het overschakelen naar de tabletmodus kan automatisch het gebruik van het schermtoetsenbord worden geactiveerd. Er is ook de mogelijkheid toegevoegd om virtuele bureaubladen automatisch naar een externe monitor te verplaatsen (indien aangesloten) na het sluiten van de laptopdeksel.
- Ondersteuning voor de aanvraag set_cursor_position_hint is toegevoegd. Als de muispositie is vergrendeld in de modus lock_pointer, stelt de toegevoegde aanvraag de toepassing in staat om de samengestelde manager informatie te geven over de eindpositie van de muis na verhuizing.
- Er zijn opties toegevoegd voor het verbergen van de cursor tijdens het typen of na een bepaalde periode van inactiviteit.
- Nieuwe invoerapparaatinstellingen zijn toegevoegd, inclusief een sectie met trackballparameters en opties voor scrollen met de muis of touchpad.
- Informatie over de actieve virtuele desktop blijft behouden na het opnieuw aansluiten van de monitor.
- Een actie 'power-on-monitors' is toegevoegd om de monitoruitvoer vanuit de slaapstand te beheren (standaard wordt de monitor automatisch geactiveerd na elke invoerevenement).
- Een bestand is toegevoegd om niri te starten onder het servicemanagementsysteem dinit.
Bron: opennet.ru
