Wayland-protokollets version 1.26 er blevet offentliggjort, og den indeholder et sæt protokoller og udvidelser, der udvider funktionaliteten af den grundlæggende Wayland-protokol og tilbyder nødvendige muligheder for at opbygge kompositservere og brugerflader.
Alle protokoller gennemgår tre faser - udvikling, testning og stabilisering. Efter afslutningen af udviklingsfasen (kategori "unstable") overføres protokollen til "staging"-grenen og inkluderes officielt i pakken wayland-protocols, og efter afslutningen af testningen flyttes den til den stabile kategori. Protokoller i "staging" kan allerede anvendes i kompositservere og klienter, hvor den relaterede funktionalitet kræves. I modsætning til "unstable"-kategorien er ændringer, der bryder kompatibiliteten, ikke tilladt i "staging", men hvis der opstår problemer og mangler under testningen, kan det nye væsentlige version af protokollen eller en anden Wayland-udvidelse blive udskiftet.
I den nye version:
- Protokollen single-pixel-buffer er blevet tilføjet til kategorien «staging», hvilket muliggør oprettelse af en-pixel-buffere, der inkluderer fire 32-bit RGBA-værdier. Ved hjælp af viewporter-protokollen kan kompositservere skalere en-pixel-buffere for at skabe ensartede farveflader i vilkårlig størrelse.
- I xdg_shell-protokollen, der tilbyder en grænseflade til interaktion med overflader som vinduer, hvilket muliggør flytning af overflader på skærmen, minimisering, maksimering, ændring af størrelse osv., er der tilføjet understøttelse af kompositter, servereder kun implementerer en del af de vindueskontroloperationer, der tilbydes i xdg_shell. For at overføre oplysninger om de tilgængelige i kompositte serveren muligheder er der foreslået en hændelse wm_capabilities.
- I text-input-protokollen er formuleringerne blevet omskrevet for at undgå tvetydige fortolkninger, og der er tilføjet forklaringer om det forventede adfærd.
- Brugen af terminologi defineret i RFC 2119 er blevet påbudt.
I øjeblikket omfatter wayland-protocols følgende stabile protokoller, hvor bagudkompatibilitet sikres:
- "viewporter" - giver klienten mulighed for at udføre handlinger vedrørende zoomning og beskæring af kanterne af overfladen på serversiden.
- "presentation-time" - sikrer visning af video.
- "xdg-shell" - grænseflade til oprettelse og interaktion med overflader som vinduer, der giver mulighed for at flytte dem rundt på skærmen, minimere, maksimere, ændre størrelse osv.
Protokoller, der testes i "staging"-grenen:
- drm-lease - leverer de ressourcer, der er nødvendige for at danne et stereobillede med forskellige buffere til venstre og højre øje ved output på VR-headsets.
- "ext-session-lock" - definerer midler til at låse sessionen, f.eks. under arbejdet med skærmskærm eller output af autentificeringsdialog.
- «single-pixel-buffer» — giver mulighed for at skabe enkelt-pixel buffere, der inkluderer fire 32-bit RGBA værdier.
- «xdg-activation» — tillader overførsel af fokus mellem forskellige topniveau overflader (for eksempel kan et program ved hjælp af xdg-activation skifte fokus til et andet).
Protokoller, der udvikles i «unstable»-grenen:
- «fullscreen-shell» — styring af arbejder i fuldskærmstilstand.
- «input-method» — behandling af inputmetoder.
- «idle-inhibit» — blokering af aktivering af screensaver.
- «input-timestamps» — tidsstempler for inputbegivenheder.
- «keyboard-shortcuts-inhibit» — kontrol af vedhæftningen af tastaturkombinationer og genveje.
- «linux-dmabuf» — deling af flere grafikkort ved hjælp af DMABuff-teknologi.
- «linux-explicit-synchronization» — en Linux-specifik mekanisme til synkronisering af buffere i relation til overfladen.
- «pointer-gestures» — kontrol fra berøringsskærme.
- «pointer constraints» — begrænsninger for pegere (låsing).
- «primary-selection» — ligesom i X11 muliggør funktionalitet for primære udklipsholder (primary selection), hvor indsættelse af information normalt foretages med musens midterste knap.
- «relative pointer events» — relative events for pegere.
- «tablet» - support for input fra tablets.
- «text-input» — organisering af tekstindføring.
- «xdg-foreign» — grænseflade til interaktion med 'nabo'-klientens overflader.
- «xdg-decoration» — rendering af vinduesdekorationer på serversiden.
- «xdg-output» — yderligere oplysninger om videoudgangen (anvendes til brøk-skala).
- «xwayland-keyboard-grab» — indfangning af input i XWayland-applikationer.
Kilde: opennet.ru
