ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Weston 13.0, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π² Enlightenment, GNOME, KDE ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ . Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Weston Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Wayland Π² Π΄Π΅ΡΠΊΡΠΎΠΏ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ², ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.
Π‘ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ Weston ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΡΡΡΠ°ΡΡΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Weston:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠΎΡΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ vnc, rdp ΠΈ pipewire.
- Π Π±ΡΠΊΠ΅Π½Π΄Ρ backend-vnc, backend-pipewire ΠΈ backend-rdp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenGL.
- Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΊΠΈΠΎΡΠΊΠΎΠ² (kiosk-shell) ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· xwayland.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (overlapping) Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡΡ , ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Π²ΡΠ²ΠΎΠ΄Π°.
- Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ desktop-shell ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (pointer confinement) Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡΡ .
- Π Π±ΡΠΊΠ΅Π½Π΄Π΅ drm-backend ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libgbm Π΄ΠΎ 21.1.1.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ weston_view_move_to_layer() Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (view) Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· Π³ΡΠ°ΡΠ° ΡΡΠ΅Π½Ρ, Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»ΠΎΡ ΡΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL.
- Π€ΡΠ½ΠΊΡΠΈΠΈ weston_view_set_position, weston_touch ΠΈ weston_output, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ weston_coord.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ weston_log_scopes_iterate() Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π² Π»ΠΎΠ³Π΅.
- Π£Π΄Π°Π»ΡΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ launcher-logind, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ launcher-libseat, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ systemd-logind.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru