ΠΠ·Π΄Π°Π΄Π΅Π½ Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Sway 1.7, ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland, Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΌΠΎΠ·Π°Π΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ i3 ΠΈ ΠΏΠ°Π½Π΅Π»Π° i3bar. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ MIT Π»ΠΈΡΠ΅Π½Π·. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Linux ΠΈ FreeBSD.
Π‘ΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ i3 Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ IPC, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Sway Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° i3, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ Wayland Π²ΠΌΠ΅ΡΡΠΎ X11. Sway ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π½Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½ΠΎ, Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ, ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΉΠΊΠΈ ΠΌΡΠ΅ΠΆΠ°, ΠΊΠΎΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅ΠΊΡΠ°Π½Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΡΠ·ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°.
ΠΠ° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΎΠ±ΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΠΏΡΡΡΡΠ²Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ: swayidle (ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° KDE idle), swaylock (ΠΏΡΠΎΠ³ΡΠ°ΠΌ Π·Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π°), mako (ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ), grim (ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΉΠ½ΡΠΎΡΠΎΠ²Π΅), slurp (ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π»Π°ΡΡ Π½Π° Π΅ΠΊΡΠ°Π½Π°), wf-recorder (Π·Π°ΠΏΠΈΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ), waybar (ΠΏΠ°Π½Π΅Π» Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), virtboard (Π΅ΠΊΡΠ°Π½Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°), wl-clipboard (ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π°), wallutils (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΏΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ).
Sway ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π²ΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° wlroots, Π² ΠΊΠΎΡΡΠΎ ΡΠ° ΠΈΠ·Π½Π΅ΡΠ΅Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ. Wlroots Π²ΠΊΠ»ΡΡΠ²Π° Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ Π·Π° Π°Π±ΡΡΡΠ°Ρ ΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΅ΠΊΡΠ°Π½Π°, Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π±Π΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ OpenGL, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ KMS/DRM, libinput, Wayland ΠΈ X11 (ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Xwayland). ΠΡΠ²Π΅Π½ Sway, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° wlroots ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Librem5 ΠΈ Cage. ΠΡΠ²Π΅Π½ Π·Π° Π‘ΠΈ/C++ ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ Π·Π° Scheme, Common Lisp, Go, Haskell, OCaml, Python ΠΈ Rust.
Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΠ²Π΅ΡΠ΅ Ρ ΠΌΠΈΡΠΊΠ°ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΎΡΠΈΠ»Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° βoutput render_bit_depthβ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ°Π½Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π° Π½Π° ΡΠ²Π΅ΡΠ°.
- ΠΠΎΠ²ΠΈΡΠ΅Π½Π° Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½ (ΡΡΠ΅Π· dmabuf, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π±ΡΡΠ΅ΡΠΈΡΠ°Π½Π΅).
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ xdg-activation-v1, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ Π½Π° ΡΠΎΠΊΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈ Π½Π° ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ xdg-activation, Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ ΡΠΎΠΊΡΡΠ° ΠΊΡΠΌ Π΄ΡΡΠ³ΠΎ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° client.focused_tab_title Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ²Π΅ΡΠ° Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈΡ ΡΠ°Π±.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° βoutput modelineβ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° DRM (Direct Rendering Manager).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° βoutput dpms toggleβ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ βgaps toggle β, βsmart_gaps inverse_outerβ ΠΈ βsplit noneβ.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π΅ ΠΎΠΏΡΠΈΡΡΠ° ββmy-next-gpu-wont-be-nvidiaβ, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΡΠΎ ΡΠ»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌ ββunsupported-gpuβ. ΠΡΠΈΡΠ΅ΠΆΠ°ΡΠ΅Π»Π½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° NVIDIA Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ.
- ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅Π½ Π΅ΠΌΡΠ»Π°ΡΠΎΡ Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ foot.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°Π½Π΅Π»Π° swaybar ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ swaynag ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ.
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π²ΠΈΡΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ° Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½Π°, Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π²Π΅ΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ° ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π²ΠΈΡΠΎΡΠΈΠ½Π°.

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
