ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ°Π²Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ ΠΡΠ»Π΅Π΅Π½Π΅ 1.4 (Π²Π΅ΡΡΠΈΡ 1.3 Π½Π΅ Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π°), ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Ρ ΠΌΠΎΠ·Π°ΠΉΠΊΠΈ i3 ΠΈ ΠΏΠ°Π½Π΅Π» i3bar. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Π½Π° MIT. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Linux ΠΈ FreeBSD.
i3 ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» ΠΈ IPC, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Sway Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ i3 Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Wayland Π²ΠΌΠ΅ΡΡΠΎ X11. Sway Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π½Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½ΠΎ, Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΡΠ·ΠΎ Π΄Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ°.
ΠΠ° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎΡΡΠ½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° ΡΡΠ΅Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠΏΡΡΡΡΠ²Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ: ΡΠ΄ΠΎΡ
ΠΌΠ΅ (ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ, Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ KDE Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»), swaylock (ΡΠΊΡΠΈΠΉΠ½ΡΠ΅ΠΉΠ²ΡΡ), ΠΌΠ°ΠΊΠΎ (ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡΡΠ°), ΠΌΡΠ°ΡΠ΅Π½ (ΠΏΡΠ°Π²Π΅Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ), ΡΡΡΠ±Π°ΠΌ (ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π»Π°ΡΡ Π½Π° Π΅ΠΊΡΠ°Π½Π°), wf-ΡΠ΅ΠΊΠΎΡΠ΄Π΅Ρ (Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡ), ΠΏΡΡΠ½Π° Π»Π΅Π½ΡΠ° (Π»Π΅Π½ΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), virtboard (Π΅ΠΊΡΠ°Π½Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°), wl-ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄ (ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π°), wallutils (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΏΠ΅ΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ).
Sway ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π²ΡΡΡ
Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° wlroots, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ. Wlroots Π²ΠΊΠ»ΡΡΠ²Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π°
Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΅ΠΊΡΠ°Π½Π°, Π²Ρ
ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π±Π΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ OpenGL, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ KMS/DRM, libinput, Wayland ΠΈ X11 (ΠΎΡΠΈΠ³ΡΡΠ΅Π½ Π΅ ΡΠ»ΠΎΠΉ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Xwayland). Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Sway, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° wlroots ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Librem5 ΠΈ ΠΠ»Π΅ΡΠΊΠ°. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ C/C++, ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡΡΠ° ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π·Π° Scheme, Common Lisp, Go, Haskell, OCaml, Python ΠΈ Rust.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° VNC ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ. Π Π°Π±ΠΎΡΠ°ΡΠ° Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡ wayvnc, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Wayland ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΠ΅ΡΠΈΠΈ, ΡΡΠ·Π΄Π°Π²Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΎ Π²Ρ
ΠΎΠ΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΈΠ·Π»ΡΡΠ²Π° Π΅ΠΊΡΠ°Π½Π΅Π½ ΠΈΠ·Ρ
ΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ RFB ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. Wayvnc ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π½Π°ΡΡΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΡΠ²ΡΡΠΈ Π±Π΅Π· ΠΌΠΎΠ½ΠΈΡΠΎΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈΡ ΠΏΠΎ-ΡΠ°Π½ΠΎ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° RDP Π±Π΅ΠΊΠ΅Π½Π΄ Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°.
ΠΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ°ΡΡΠΈΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π»Π΅Π½ΡΠ°ΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° MATE;
Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π·Π½Π°ΡΠΈ ΠΏΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ (ΠΎΠΏΡΠΈΠΈ max_render_time ΠΈ sway-output);
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΡΠΏΠΈ ΠΎΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ° (Π·Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΈ);
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° xdg-shell v6 (Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ v6 Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π°ΠΊΡΡΠ°Π»Π½Π° ΡΠ»Π΅Π΄ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ xdg-shell).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru