ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ labwc 0.7 (Lab Wayland Compositor) Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎ, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° Wayland ΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΡΡΠ΅ΡΡΠ²Π°Π°Ρ Π½Π° ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Openbox (ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ ΠΊΠ°ΠΊΠΎ ΠΎΠ±ΠΈΠ΄ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Openbox Π·Π° Wayland). ΠΠ΅ΡΡ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° labwc ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΠΎΡ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΡΠΈΡΠΎΠΊΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°ΡΠ΅ ΠΈ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊ C ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° GPLv2.
ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° wlroots, ΡΠ°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΡΠΎ ΠΎΠΏΠΊΡΡΠΆΡΠ²Π°ΡΠ΅ Sway ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Wayland. ΠΠΎΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Wayland ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ, wlr-output-management Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΎ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·Π½ΠΈ ΡΡΠ΅Π΄ΠΈ, layer-shell Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΎ-Π³ΠΎΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΈ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ.
ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Ρ Π΄ΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΎΠ΄ Π΅ΠΊΡΠ°Π½ΠΎΡ, ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΠΏΠΎΠ²ΡΡΠΈΠ½Π°, ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΠΌΠ΅Π½ΠΈΡΠ°. ΠΠ½ΠΈΠΌΠΈΡΠ°Π½ΠΈ Π΅ΡΠ΅ΠΊΡΠΈ, Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΈ ΠΈ ΠΈΠΊΠΎΠ½ΠΈ (ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ Π½Π° ΠΊΠΎΠΏΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠΎΡ) Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ. ΠΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° X11 Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½Π° Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Wayland, ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΡΠ° XWayland DDX. Π’Π΅ΠΌΠ°ΡΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΡΠ°ΡΠ΅Π½ΠΊΠΈ ΠΊΠΎΠΏΡΠΈΡΠ° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ xml ΡΠΎΡΠΌΠ°Ρ. ΠΠΌΠ° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΠ°Π½ΠΈ ΡΠΎ Π²ΠΈΡΠΎΠΊΠ° Π³ΡΡΡΠΈΠ½Π° Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ (HiDPI).
ΠΠΎΠΊΡΠ°Ρ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎΡΠΎ root ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅ΠΊΡ menu.xml, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ΅Π½ΠΈΡΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ bemenu, fuzzel ΠΈ wofi. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Waybar, sfwbar, Yambar ΠΈΠ»ΠΈ LavaLauncher ΠΊΠ°ΠΊΠΎ ΠΏΠ°Π½Π΅Π». ΠΠ° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ wlr-randr ΠΈΠ»ΠΈ kanshi. ΠΠΊΡΠ°Π½ΠΎΡ Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° swaylock.
ΠΠ»ΡΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΡΠ΅ΠΌΠΈΠ½ΠΎΡ ΠΊΠΎΠ½ Π½ΠΎΠ²Π° Π³ΡΠ°Π½ΠΊΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° wlroots 0.17 Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Wayland cursor-shape-v1, ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±ΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄ΠΎΡ Π½Π° ΠΊΡΡΡΠΎΡΠΎΡ ΡΠΎ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΡΠ΅ΡΠΈΡΠ° ΡΠ»ΠΈΠΊΠΈ Π½Π° ΠΊΡΡΡΠΎΡΠΎΡ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ ΡΠΎ ΡΡΠ°ΠΊΡΠΈΠΎΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Wayland, ΠΊΠΎΡ ΠΌΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΠΎΡ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° Π½Π΅ΡΠ΅Π»ΠΎΠ±ΡΠΎΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π·Π° ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΡΠΈΠ½Π°ΡΠ°, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ ΠΌΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ Π΄Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈ ΠΏΠΎΠΏΡΠ΅ΡΠΈΠ·Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π±Π°ΡΠ΅ΡΠΈ Π·Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ wp_viewport, Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΠΎΠ±Π»Π΅Π½Π°ΡΠ° ΡΠΊΠ°Π»Π°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠΊΠΎΠ½ΠΈ Π²ΠΎ Π»Π΅Π½ΡΠΈΡΠ΅ ΡΠΎ Π½Π°ΡΠ»ΠΎΠ² Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠΎΡ.
- ΠΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π·Π° ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΈΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈ Π½Π°Π·Π°Π΄ ΡΠΎ ΠΏΡΠΈΡΠΈΡΠΊΠ°ΡΠ΅ Π½Π° ΡΡΡΠ΅Π»ΠΊΠ°ΡΠ° Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π½Π°Π³ΠΎΡΠ΅.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠ° osd.workspace-switcher.boxes.{width,height} Π·Π° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ»ΠΈΠΊΠΈΡΠΊΠΈΡΠ΅ Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π·Π° ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΠΎΠ²ΡΡΠΈΠ½ΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ Π΄Π΅ΡΡΡΠ²Π° VirtualOutputAdd ΠΈ VirtualOutputRemove Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΈΠ·Π»Π΅Π·Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π°ΠΊΡΠΈΡΠ° ResizeTo Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π΄Π΅ΡΡΡΠ²ΠΎ ToggleOmnipresent ΠΈ ΠΎΠΏΡΠΈΡΠ° βΠ‘Π΅ΠΊΠΎΠ³Π°Ρ Π½Π° Π²ΠΈΠ΄Π»ΠΈΠ² ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡβ Π·Π° ΡΠ΅ΠΊΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π°ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ½Π° ΠΏΠΎΠ²ΡΡΠΈΠ½Π°.
- ΠΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ XWayland, Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΡΠ²ΠΎΡΡΡΠ²ΠΎΡΠΎ _NET_WORKAREA, ΠΊΠΎΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ»ΠΎΠ±ΠΎΠ΄Π½Π°ΡΠ° ΠΏΠΎΠ²ΡΡΠΈΠ½Π° Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ ΡΡΠΎ Π½Π΅ Π΅ Π·Π°ΡΠ°ΡΠ΅Π½Π° ΠΎΠ΄ ΠΏΠ°Π½Π΅Π»ΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Qt ΠΏΡΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΊΠΎΠΊΠ°ΡΠΊΠΈΡΠ΅ ΠΌΠ΅Π½ΠΈΡΠ°).
ΠΠ·Π²ΠΎΡ: opennet.ru