Po troch mesiacoch vývoja bol zverejnený vydanie kompozitného servera Niri 25.11, ktorý implementuje metódu mozaikovej (tiling) kompozície v štýle GNOME rozšírenia PaperWM, kde sa okná skupinujú do nekonečne rolovateľného pruhu na obrazovke. Otvorenie nového okna vedie k rozšíreniu pruhu, zatiaľ čo predtým pridané okná nemenia svoju veľkosť. Projekt je založený na použití protokolu Wayland, ale umožňuje spúšťanie aplikácií X11 pomocou DDX servera Xwayland. Kód projektu je napísaný v jazyku Rust a distribuuje sa pod licenciou GPLv3. Pakety sú vytvorené pre Fedora, NixOS, Arch Linux a FreeBSD.
Podstatným rozdielom Niri od PaperWM je priradenie vlastného pruhu okien ku každému monitoru, ktorý sa neprekrýva s pruhmi na iných monitoroch (v PaperWM nemôže byť oddelená práca s monitormi realizovaná kvôli priradeniu k globálnym oknovým súradniciam v GNOME Shell). Niri podporuje HiDPI a môže pracovať na systémoch s viacerými GPU (napríklad na hybridných systémoch s diskrétnou grafickou kartou a integrovaným GPU). Je tu vstavané rozhranie na vytváranie snímok obrazovky a nahrávanie screencastov, pričom jeho osobitosťou je možnosť vylúčiť z nahrávania jednotlivé okná s dôvernými informáciami.
Virtuálne pracovné plochy v Niri sa vytvorené dynamicky a podobne ako v GNOME sú umiestnené vertikálne (lišta okien sa otáča horizontálne, zatiaľ čo lišta pracovných plôch – vertikálne). Na každom monitore sa môže zobraziť nezávislá súprava virtuálnych pracovných plôch. Na prepínanie medzi pracovnými plochami a oknami je možné použiť ovládacie gestá na touchpade. Pri odpojení monitora sa usporiadanie virtuálnych pracovných plošiek zapamätáva a prenáša na zostávajúci monitor, a po návrate monitora sa obnovuje do pôvodného stavu. Nastavenie sa vykonáva prostredníctvom konfiguračného súboru, ktorý umožňuje meniť také parametre, ako sú šírka rámčekov, medzery, výstupné režimy a veľkosti okien. Zmeny vykonané v konfiguračnom súbore sa uplatňujú automaticky bez reštartovania kompozitného servera.

V novej verzii:
- Pridané rozhranie na prepínanie medzi oknami pomocou Alt+Tab s prehľadom náhľadov počas rolovania okien. Možné je zobrazenie okien viazaných na aktuálnu virtuálnu pracovnú plochu (klávesa „w“) alebo na výstupné zariadenie (klávesa „o“). Dostupná je tiež kombinácia klávesov Alt+„`“ na prepínanie medzi oknami aktuálnej aplikácie.

- Pridané animované efekty prechodu okna do režimu celej obrazovky a z neho.
- Bola implementovaná plná podpora pre rozšírenie okien na celú obrazovku (predtým sa podporovalo rozšírenie okna na celú šírku so zachovaním okrajov a rámov; teraz sa podporuje rozšírenie s pokrytím celej dostupnej oblasti bez zobrazenia rámov). Rozšírenie sa vykonáva stlačením príslušného tlačidla v hornej časti okna alebo dvojitým kliknutím myšou na hlavičku.

- Bola pridaná možnosť generovania udalostí posúvania obsahu pri horizontálnom ťahaní myšou v okne s mriežkovým rozložením (vertikálne ťahanie vedie k presunutiu okna, zatiaľ čo horizontálne ťahanie posúva informácie v okne).
- Bola poskytnutá možnosť definovania jednotlivých konfigurácií rozloženia okien, ktoré sú priradené k určitému výstupnému zariadeniu (monitoru) alebo virtuálnemu desktopu.
- V konfiguračných súboroch bola implementovaná direktíva „include“ pre vloženie obsahu z iných súborov.
- Bola pridaná podpora pre externé monitory pripojené cez port DisplayLink.
- Boli vykonané zmeny znižujúce blikanie obrazovky.
- Bola pridaná podpora na nastavenie vlastných video režimov pre výstupné zariadenia bez obmedzenia režimami prenášanými cez EDID. Napríklad, ‚mode custom=true „1920×1080@100″.‘
- Bola pridaná podpora na spustenie oknového sedenia niri v WSL (Windows Subsystem for Linux).
Zdroj: opennet.ru


