Opublikowano wydanie pakietu wayland-protocols 1.26, zawierającego zestaw protokołów i rozszerzeń, które uzupełniają możliwości podstawowego protokołu Wayland oraz zapewniają niezbędne funkcje do budowy serwerów kompozytowych i środowisk użytkownika.
Wszystkie protokoły kolejno przechodzą przez trzy fazy — rozwój, testowanie i stabilizację. Po zakończeniu etapu rozwoju (kategoria „unstable”) protokół trafia do gałęzi „staging” i oficjalnie zostaje włączony do zestawu wayland-protocols, a po zakończeniu testowania przenoszony jest do kategorii stabilnych. Protokół z kategorii „staging” można już stosować w serwerach i klientach kompozytowych, gdzie wymagana jest związana z nim funkcjonalność. W przeciwieństwie do kategorii „unstable” w „staging” zabronione są zmiany, które naruszają zgodność, jednak w przypadku wykrycia problemów i niedociągnięć podczas testowania nie wyklucza się zamiany na nową, znaczącą wersję protokołu lub inne rozszerzenie Wayland.
W nowej wersji:
- Do kategorii „staging” dodano protokół single-pixel-buffer, który umożliwia tworzenie jednopikselowych buforów zawierających cztery 32-bitowe wartości RGBA. Dzięki protokołowi viewporter serwery kompozytowe mogą skalować jednopikselowe bufory tworząc jednorodne kolorowe powierzchnie o dowolnych rozmiarach.
- W protokole xdg_shell, który zapewnia interfejs do interakcji z powierzchniami jako oknami, co pozwala na przesuwanie powierzchni na ekranie, minimalizowanie, maksymalizowanie, zmienianie rozmiaru itd., dodano wsparcie dla kompozytów, serwerów, które realizują jedynie część operacji zarządzania oknami dostępnych w xdg_shell. Aby przekazywać informacje o dostępnych w kompozycie, serwerze zapewniono zdarzenie wm_capabilities.
- W protokole text-input przepisano sformułowania, które prowadziły do niejednoznacznej interpretacji, oraz dodano wyjaśnienia dotyczące zakładanego zachowania.
- Zaleca się stosowanie terminologii określonej w RFC 2119.
Obecnie w skład zestawu wayland-protocols wchodzą następujące stabilne protokoły, które zapewniają zgodność wsteczną:
- «viewporter» — pozwala klientowi na wykonywanie działań związanych z powiększaniem i przycinaniem krawędzi powierzchni po stronie serwera.
- «presentation-time» — zapewnia wyświetlanie wideo.
- „xdg-shell” — interfejs do tworzenia i interakcji z powierzchniami jak z oknami, co pozwala na ich przemieszczanie po ekranie, minimalizowanie, maksymalizowanie, zmienianie rozmiaru itd.
Protokoły testowane w gałęzi «staging»:
- drm-lease — zapewnia zasoby niezbędne do tworzenia stereo obrazu z różnymi buforami dla lewego i prawego oka przy wyjściu na hełmy VR.
- «ext-session-lock» — definiuje środki blokady sesji, na przykład podczas działania wygaszacza ekranu lub wyświetlania dialogu autoryzacji.
- «single-pixel-buffer» — pozwala na tworzenie jednopikselowych buforów, zawierających cztery 32-bitowe wartości RGBA.
- «xdg-activation» — pozwala na przekazywanie fokusów między różnymi powierzchniami pierwszego poziomu (na przykład za pomocą xdg-activation jedna aplikacja może przełączyć fokus na inną).
Protokół, który jest rozwijany w gałęzi «unstable»:
- «fullscreen-shell» — zarządzanie pracą w trybie pełnoekranowym.
- «input-method» — obsługa metod wprowadzania.
- «idle-inhibit» — blokada uruchamiania wygaszacza ekranu (ekranowej zasłony).
- «input-timestamps» — znaczniki czasowe dla zdarzeń wejściowych.
- «keyboard-shortcuts-inhibit» — zarządzanie przypinaniem kombinacji klawiszowych i skrótów klawiszowych.
- „linux-dmabuf” — współdzielenie kilku kart graficznych za pomocą technologii DMABuff.
- «linux-explicit-synchronization» — specyficzny dla Linux mechanizm synchronizacji buforów związany z powierzchnią.
- «pointer-gestures» — zarządzanie gestami z ekranów dotykowych.
- «pointer constraints» — ograniczenia wskaźników (blokada).
- «primary-selection» — podobnie jak w X11 zapewnia działanie pierwszego bufora wymiany (primary selection), z którego wstawianie informacji zazwyczaj odbywa się za pomocą środkowego przycisku myszy.
- «relative pointer events» — względne zdarzenia wskaźników.
- „tablet” — wsparcie dla wejścia z tabletów.
- «text-input» — organizacja wprowadzania tekstu.
- «xdg-foreign» — interfejs interakcji z powierzchniami „sąsiedniego” klienta.
- «xdg-decoration» — renderowanie dekoracji okien po stronie serwera.
- «xdg-output» — dodatkowe informacje o wyjściu wideo (używane do skalowania niecałkowitego).
- «xwayland-keyboard-grab» — przechwytywanie wejścia w aplikacjach XWayland.
Źródło: opennet.ru
