Po třech měsících vývoje byl uvolněn vydání kompozitního serveru Niri 25.11, který implementuje metodu dlaždicového (tiling) uspořádání ve stylu GNOME-rozšíření PaperWM, kde se okna skupinují v nekonečně posuvném páse na obrazovce. Otevření nového okna vede k rozšíření pásu, přičemž dříve přidaná okna nemění svou velikost. Projekt je založen na použití protokolu Wayland, ale umožňuje spouštění aplikací X11 pomocí DDX-serveru Xwayland. Kód projektu je napsán v jazyce Rust a je distribuován pod licencí GPLv3. Balíčky jsou formovány pro Fedora, NixOS, Arch Linux a FreeBSD.
Zásadním rozdílem mezi Niri a PaperWM je přidání vlastní lišty oken pro každý monitor, která se nepřekrývá s lištami na ostatních monitorech (v PaperWM není možné samostatně pracovat s monitory kvůli vázání na globální souřadnicový systém oken v GNOME Shell). Niri podporuje HiDPI a může fungovat na systémech s více GPU (například na hybridních systémech s dedikovanou grafickou kartou a integrovaným GPU). Obsahuje vestavěné rozhraní pro vytváření snímků obrazovky a nahrávání screencastů, jehož zvláštností je možnost vyloučení jednotlivých oken s důvěrnými informacemi.
Virtuální pracovní plochy v Niri jsou vytvářeny dynamicky a analogicky k GNOME jsou umístěny vertikálně (pás oken se otáčí horizontálně, zatímco pás pracovních ploch – vertikálně). Na každém monitoru může být zobrazen nezávislý soubor. virtuálních pracovních ploch. Pro přepínání mezi pracovními plochami a okny lze použít ovládací gesta na touchpadu. Při odpojení monitoru se rozložení virtuálních pracovních ploch zapamatuje a přenese na zbývající monitor, a po návratu monitoru se obnoví do původního stavu. Nastavení se provádí pomocí konfiguračního souboru, který umožňuje měnit takové parametry, jako je šířka rámečků, okraje, režimy výstupu a velikosti oken. Změny provedené v konfiguračním souboru se aplikují automaticky bez restartování kompozitního serveru.

V nové verzi:
- Přidáno rozhraní pro přepínání mezi okny pomocí Alt+Tab s ukázkou náhledů při posouvání oken. Možné zobrazení oken vázaných na aktuální virtuální pracovní plochu (klávesa „w“) nebo zařízení pro výstup (klávesa „o“). Také je k dispozici klávesová zkratka Alt+”`” pro přepínání mezi okny aktuální aplikace.

- Přidány animační efekty pro přechod okna do celoobrazovkového režimu a jeho opuštění.
- Byla implementována plná podpora rozbalení oken na celou obrazovku (dříve byla podporována pouze rozšíření okna na celou šířku s zachováním mezer a rámců, nyní je podporováno rozšíření s obsazením celé dostupné plochy bez zobrazení rámců). Rozbalení se provádí stisknutím příslušného tlačítka v horní části okna nebo dvojitým kliknutím myší na záhlaví.

- Byla přidána možnost generování událostí pro posouvání obsahu při horizontálním přetahování myší záhlaví okna v dlaždicovém uspořádání (vertikální přetahování vede k přesunu okna, zatímco horizontální k posouvání informací v okně).
- Byla poskytnuta možnost definování jednotlivých konfigurací uspořádání oken vázaných na určité zařízení pro výstup (monitor) nebo virtuální pracovní plochu.
- V konfiguračních souborech byla implementována direktiva „include“ pro zahrnutí obsahu jiných souborů.
- Přidána podpora pro externí monitory připojené přes port DisplayLink.
- Byly provedeny úpravy, které snižují blikání obrazovky.
- Přidána podpora pro zadání vlastních video režimů pro zařízení pro výstup, která nejsou omezena režimy předanými přes EDID. Například, ‘mode custom=true „1920×1080@100“‘.
- Byla přidána podpora pro spuštění okna niri ve WSL (Windows Subsystem for Linux).
Zdroj: opennet.ru


