Po prawie trzech latach rozwoju, serwer kompozytowy Wayfire 0.8 został wydany. Wykorzystuje Wayland i umożliwia tworzenie wydajnych pod względem zasobów interfejsów użytkownika z efektami 3D w stylu wtyczek 3D dla Compiz (przełączanie ekranów za pomocą kostki 3D, przestrzenny układ okien, morphing podczas pracy z oknami itp.). Wayfire obsługuje rozszerzenia za pomocą wtyczek i zapewnia elastyczny system konfiguracji. Kod projektu jest napisany w C++ i jest dystrybuowany na licencji MIT.
Projekt zbudowany jest w oparciu o bibliotekę wlroots, opracowaną przez twórców środowiska użytkownika Sway i udostępniającą podstawowe funkcje organizacji pracy złożonego menedżera opartego na Wayland. Do zarządzania sesjami można używać Systemd, elogind lub seatd. Obsługuje uruchamianie aplikacji X11 przy użyciu XWayland. Jako panel możesz użyć wf-Shell od programistów Wayfire lub panelu innej firmy LavaLauncher. W ramach projektu opracowywana jest także biblioteka do pracy z plikami konfiguracyjnymi wf-config oraz konfigurator graficzny wcm.
W nowej wersji:
- Dodano wtyczkę „wsets” (zestawy przestrzeni roboczej), umożliwiającą pracę z kolekcjami pulpity wirtualneKolekcje umożliwiają grupowanie pulpitów powiązanych z określonym tematem (np. praca nad projektem głównym, praca nad projektem osobistym lub rozrywka) w celu jednoczesnego wyświetlania na jednym ekranie. Użytkownicy mogą w dowolnym momencie przełączyć się na inną kolekcję i uzyskać dostęp do innego zestawu pulpitów wirtualnych. Każdy ekran może wyświetlać własną kolekcję pulpitów (na przykład monitor zewnętrzny może używać kolekcji do celów rozrywkowych, a wbudowany ekran laptopa – do celów służbowych). Kolekcje można przenosić między ekranami.

- Zapewniono możliwość kontrolowania menedżera kompozytowego za pomocą poleceń IPC przesyłanych przez gniazdo sieciowe. Funkcjonalność jest implementowana za pomocą wtyczki ipc i dodatkowych wtyczek przetwarzania poleceń, na przykład wtyczka ipc-rules obejmuje podstawowe polecenia zarządzania oknami. W przyszłości planowane jest dodanie obsługi dodatkowych poleceń i zdarzeń.
- Dodano możliwość nawigacji pomiędzy pulpitami wirtualnymi za pomocą klawiatury.
- Wtyczka Simple-Tile implementuje efekty animowane.
- Dodano powiązania z wtyczką Vswitch umożliwiające przeniesienie elementu na konkretny pulpit wirtualny.
- Implementacje protokołów Wayland zostały przeniesione z kompozycji bazowej do oddzielnych wtyczek wayfire-shell, foreign-toplevel i gtk-shell.
- Dodano obsługę protokołu Wayland „xdg-activation”, który umożliwia przenoszenie fokusu między różnymi powierzchniami pierwszego poziomu (na przykład, używając xdg-activation, jedna aplikacja może przełączyć fokus na inną).
- Zaproponowano nowe widżety z implementacją zasobnika systemowego, powiadomień i dialogu wyłączania dla panelu. Dodano również widżet Command-output, umożliwiający wyświetlanie wyniku wykonania dowolnych poleceń w panelu.
- Zaktualizowano panel wf-shell, bibliotekę wf-config i konfigurator wcm opracowane w ramach projektu.

- API do tworzenia wtyczek zostało rozbudowane i przeprojektowane. Z jednej strony przeprojektowanie zerwało kompatybilność z wieloma starymi wtyczkami, ale z drugiej strony udało się rozwiązać większość problemów, które wcześniej przeszkadzały w pracy. Zaproponowano nową strukturę scenegraph do pracy z listami ekranów, warstw i widoków. Przeprojektowano interfejs programowania View, odpowiedzialny za prezentację okien aplikacji. Dodano system transakcji, który umożliwia jednoczesną automatyczną aktualizację kilku powierzchni najwyższego poziomu i powiązanych właściwości, a także synchronizację stanu dekoracji okna z oknem głównym.
Źródło: opennet.ru


