ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡ ΡΡΡΠ²ΡΡ 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
