ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Niri 0.1.5, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ GNOME-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PaperWM ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠΉ (tiling) ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΊΠ½Π° Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π»Π΅Π½ΡΡ. ΠΡΠΊΡΡΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π»Π΅Π½ΡΡ, Π° ΡΠ°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΊΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. ΠΠ°ΠΊΠ΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π΄Π»Ρ Fedora, NixOS , Arch Linux ΠΈ FreeBSD.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² PaperWM ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°ΠΌΠΈ ΠΈΠ·-Π·Π° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ Π² GNOME Shell. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ Niri ΠΎΡ PaperWM ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π»Π΅Π½ΡΡ ΠΎΠΊΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Niri ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ HiDPI ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ GPU (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΎΠΉ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ GPU).
ΠΠ°ΠΊ ΠΈ Π² GNOME Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΡΠΎΠ»Ρ Π² Niri ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ (Π»Π΅Π½ΡΠ° ΠΎΠΊΠΎΠ½ Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ, Π° Π»Π΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ² — Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ). ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ Π½Π°Π±ΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ². ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΡΠΎΠ»Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΆΠ΅ΡΡΡ Π½Π° ΡΠ°ΡΠΏΠ°Π΄Π΅. ΠΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π½Π° ΠΎΡΡΠ°Π²ΡΠΈΠΉΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡ, Π° ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
Niri Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ X11 ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ DDX-ΡΠ΅ΡΠ²Π΅ΡΠ° Xwayland. ΠΠΌΠ΅Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ² ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΊΡΠΈΠ½ΠΊΠ°ΡΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Π·Π°ΠΏΠΈΡΠΈ ΠΎΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΊΠΎΠ½ Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΠΈΠ½Π° ΡΠ°ΠΌΠΎΠΊ, ΠΎΡΡΡΡΠΏΡ, ΡΠ΅ΠΆΠΈΠΌΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠΎΠ½. ΠΠ½Π΅ΡΡΠ½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΆΠ΅ΡΡΠΎΠ² Π½Π° ΡΠ°ΡΠΏΠ°Π΄Π΅. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° Π»Π΅ΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½ΠΎΠ²ΡΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΡΠΆΠΈΠ½ΡΡΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² (spring animation). ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠΎΠ½. ΠΠ»Ρ ΡΠ΅Ρ ΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ.
Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π±ΠΈΡΡΠ΅ΠΉΡΠΎΠΌ (VRR, variable refresh rate).
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ IPC-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ allow-when-locked=true Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΊΡΠ°Π½Π°.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΊΡΡΡΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌ ΡΠΊΡΠ°Π½ΠΎΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru