Dostępne jest wydanie menedżera kompozytowego Sway 1.6, opartego na protokole Wayland i w pełni zgodnego z kafelkowym menedżerem okien i3 oraz panelem i3bar. Kod projektu napisano w języku C i jest on udostępniany na licencji MIT. Projekt jest przeznaczony do użytku w systemach Linux i FreeBSD.
Kompatybilność z i3 zapewniona jest na poziomie poleceń, plików konfiguracyjnych oraz IPC, co pozwala na stosowanie Sway jako przezroczystego zamiennika i3, który wykorzystuje Wayland zamiast X11. Sway pozwala na rozmieszczanie okien na ekranie w sposób logiczny, a nie przestrzenny. Okna układane są w siatkę, która optymalnie wykorzystuje przestrzeń ekranu i umożliwia szybkie manipulowanie oknami wyłącznie za pomocą klawiatury.
Aby stworzyć pełne środowisko użytkownika, oferowane są komponenty dodatkowe: swayidle (proces w tle z implementacją protokołu KDE idle), swaylock (ekran blokady), mako (menedżer powiadomień), grim (tworzenie zrzutów ekranu), slurp (wybór obszaru na ekranie), wf-recorder (nagrywanie wideo), waybar (panel aplikacji), virtboard (klawiatura ekranowa), wl-clipboard (praca z schowkiem), wallutils (zarządzanie tapetami pulpitu).
Sway rozwija się jako projekt modułowy, zbudowany na podstawie biblioteki wlroots, która zawiera wszystkie podstawowe elementy do organizacji pracy menedżera kompozycji. Wlroots obejmuje backendy do abstrakcji dostępu do ekranu, urządzeń wejściowych, renderowania bez bezpośredniego odwołania do OpenGL, interakcji z KMS/DRM, libinput, Wayland i X11 (z zapewnioną warstwą do uruchamiania aplikacji X11 na podstawie Xwayland). Oprócz Sway, biblioteka wlroots jest aktywnie wykorzystywana w innych projektach, w tym Librem5 i Cage. Oprócz C/C++ opracowano również powiązania dla Scheme, Common Lisp, Go, Haskell, OCaml, Python i Rust.
W nowym wydaniu:
- Dodano możliwość korzystania z edytora metod wprowadzania (IME) w elementach interfejsu użytkownika, takich jak panele i ekran blokady.
- Poprawiono płynność interaktywnych operacji przenoszenia i zmiany rozmiaru okien.
- W samodzielnych pakietach Flatpak i Snap do poprawy integracji z systemem wykorzystano protokół xdg-foreign.
- Ulepszono zgodność z menedżerem okien i3 w zakresie poleceń zmieniających układ okien na ekranie.
- Dodano opcję ukrywania kursora podczas pisania.
- Implementację kosza dostosowano do działania w systemach bez systemd lub elogind.
- Zwiększono niezawodność działania schowka dla aplikacji X11.
Źródło: opennet.ru
