ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ ΠΠΈΡΠ°Π°Ρ 1.4 (Π²ΡΠΏΡΡΠΊ 1.3 Π½Π΅ Π±ΡΠ» ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½), ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ Ρ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΡΠΌ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ i3 ΠΈ ΠΏΠ°Π½Π΅Π» i3bar. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ° ΠΠΠ’. ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Linux ΠΈ FreeBSD.
ΠΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΡΠΎ i3 Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ IPC, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Sway Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠ°Π½ΡΠΏΠ°ΡΠ΅Π½ΡΠ½Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° i3 ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠΈ Wayland Π½Π°ΠΌΠ΅ΡΡΠΎ X11. Sway Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎΡΠ½ΠΎ, ΡΡΠΊΡ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. ΠΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΠΌΡΠ΅ΠΆΠ° ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΎΡΡΠΎΡΠΎΡ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±ΡΠ·ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΡΠ°ΠΌΠΎ ΡΠ°ΡΡΠ°ΡΡΡΠ°ΡΠ°.
ΠΠ° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠ΅Π»ΠΎΡΠ½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°, ΡΠ΅ Π½ΡΠ΄Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΠΆΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ: ΡΠ΅ Π½ΠΈΡΠ° (ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π° ΡΡΠΎ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Π·Π° Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½ KDE), Π½ΠΈΡΠ°Π»ΠΊΠ° (ΡΠΊΡΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ), ΠΌΠ°ΠΊΠΎ (ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅), ΠΌΡΠ°ΡΠ½ΠΈ (ΡΠ½ΠΈΠΌΠ°ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΎΠ΄ Π΅ΠΊΡΠ°Π½ΠΎΡ), ΡΠ»Π°ΠΊΠ°Π½ΠΈΡΠ° (ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΎΠ±Π»Π°ΡΡ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ), wf-ΡΠ΅ΠΊΠΎΡΠ΄Π΅Ρ (ΡΠ½ΠΈΠΌΠ°ΡΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ), Π»Π΅Π½ΡΠ° Π·Π° ΠΏΠ°ΡΠΈΡΡΠ° (Π»Π΅Π½ΡΠ° Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ), Π²ΠΈΡΡΠ±ΠΎΡΠ΄ (ΡΠ°ΡΡΠ°ΡΡΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ), wl-ΡΠ°Π±Π»Π°ΡΠ° ΡΠΎ ΠΈΡΠ΅ΡΠΎΡΠΈ (ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠ°Π±Π»Π°ΡΠ° ΡΠΎ ΠΈΡΠ΅ΡΠΎΡΠΈ), ΡΠΈΠ΄ΠΎΠ²ΠΈ (ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ°ΠΏΠ΅ΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΠΏΠΎΠ²ΡΡΠΈΠ½Π°).
Sway ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π°ΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π²ΡΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° wlroots, ΠΊΠΎΡ Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½Π°ΡΠ΅Ρ. Wlroots Π²ΠΊΠ»ΡΡΡΠ²Π° backends Π·Π°
Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π΅ΠΊΡΠ°Π½ΠΎΡ, Π²Π»Π΅Π·Π½ΠΈ ΡΡΠ΅Π΄ΠΈ, ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ Π±Π΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ 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