Utgitt versjon 1.48 av pakka wayland-protocols, som inneholder eit sett med protokollar og utvidingar som supplerer den grunnleggjande Wayland-protokollen, og gir nĂždvendige funksjonar for Ă„ bygge kompositt-serverar og brukarmiljĂž.
I den nye versjonen:
- Protokollen xdg-session-management er lagt til i kategorien «staging», og gir moglegheiter for Ä gjenopprette tilstand og plassering av vindaugo i avbrote sesjonar i Wayland-baserte miljÞ, for eksempel etter at kompositt-serveren eller applikasjonen har krasja.
- Moglegheitene til protokollen text-input er utvida, som gjer det mogleg for kompositt-serverar Ä implementere inndatastrategiar og sende tekst til applikasjonar. For eksempel er flagget no_emoji lagt til for inndata utan emoji, stÞtte for ekstra handlingar i tillegg til Ä lime inn tekst, flagget language for Ä sende informasjon om sprÄket, og spÞrringar for Ä vise og skjule inndatapanelet er lagt til, samt flagget preedit_hint for Ä justere stilen for fÞredisponert redigering.
- Ein eksperimentell protokoll, xx-cutouts, er lagt til for Ä hente informasjon om utsparingar pÄ skjermen (for eksempel omrÄden under frontkameraet pÄ smarttelefonen).
- Ein eksperimentell protokoll, xx-zones, er lagt til for Ă„ opprette og legge til toppnivĂ„vindauge i «soner» â miljĂž med eigne koordinatsystem. Protokollen gjer det mogleg Ă„ organisere ei logisk plassering av vindauga, der kvart vindauge plasserast i forhold til eit anna vindauge.
- Ein eksperimentell protokoll, xx-keyboard-filter, er lagt til for Ä fange bestemte tastaturhendingar frÄ klienten, endre inndatahendingar eller blokkere sending av spesifikke hendingar til Wayland-overflata der inndatapunktet er fokusert.
Alle protokoller gÄr systematisk gjennom utviklings-, test- og stabiliseringsfaser. Etter at utviklingsfasen er fullfÞrt (kategori «unstable»), plasseres protokollen i «staging»-grenen og inkluderes offisielt i settet med wayland-protocols. Etter fullfÞrt testing flyttes den til den stabile kategorien. Protokoller i «staging»-kategorien kan allerede brukes i kompositt servere og klienter hvor funksjonalitet relatert til dem kreves. I motsetning til «unstable»-kategorien er det forbudt Ä gjÞre endringer som bryter med kompatibiliteten i «staging», men hvis problemer og mangler oppdages under testing, kan en ny betydelig versjon av protokollen eller en annen Wayland-utvidelse bli innfÞrt.
For Ä fremskynde prosessen med Ä fÄ protokoller til utviklerne og stimulere tidlig implementering av protokoller i eksisterende prosjekter, ble det fra forrige utgivelse ytterligere lagt til en fase «experimental», hvor endringer som bryter kompatibilitet er tillatt, samt introduksjonen av «rÄ» protokoller, som gradvis kan utvikles til Þnsket nivÄ. Hvis det kreves dannelse av en stÞttegruppe og et bestemt antall bekreftelser (ACK) fra vurderingsdeltakere for Ä fÄ protokollen inn i «staging»-fasen, er det tilstrekkelig at det ikke er noen innvendinger (NACK) i lÞpet av en to-ukers vurderingsperiode for Ä komme inn i «experimental».
Per nÄ inneholder settet med wayland-protocols fÞlgende stabile protokoller, som sikrer bakoverkompatibilitet:
- viewporter» â lar klienten utfĂžre handlinger for skalering og beskjĂŠring av kantene til overflaten pĂ„ siden serveren.
- «presentation-time» â sikrer visning av video.
- «xdg-shell» â grensesnitt for opprettelse og interaksjon med flater som vinduer, som lar deg flytte dem pĂ„ skjermen, minimere, maksimere, endre stĂžrrelse osv.
- «linux-dmabuf» â gir muligheter for Ă„ opprette wl_buffer-er basert pĂ„ DMA-BUF.
- «tablet» â organisering av inngang fra grafiske tegnebrett.
Protokoller som testes i «staging»-grenen:
- drm-lease â gir ressursene som trengs for Ă„ lage et stereobilde med forskjellige buffere for venstre og hĂžyre Ăžye ved utdata pĂ„ virtual reality-headset.
- «ext-session-lock» â definerer midler for Ă„ lĂ„se sesjonen, for eksempel under drift av skjermsparer eller visning av autentiseringsdialog.
- «single-pixel-buffer» â lar deg opprette enkeltpikselbuffere som inkluderer fire 32-bits RGBA-verdier.
- «xdg-activation» â gir muligheten til Ă„ overfĂžre fokus mellom forskjellige toppnivĂ„overflater (for eksempel kan ett program med xdg-activation skifte fokus til et annet).
- content-type â lar klienter sende til komposittserveren server informasjon om den viste innholdet som kan brukes til Ă„ optimalisere oppfĂžrselen med tanke pĂ„ innholdet, for eksempel ved Ă„ angi spesifikke DRM-egenskaper, som «content type». Det er bekreftet stĂžtte for fĂžlgende innholdstyper: none (ingen informasjon om datatypen), photo (utgang av digitale bilder, som krever minimal behandling), video (video eller animasjon, som krever mer presis synkronisering for Ă„ unngĂ„ hakking) og game (start av spill, som krever utgang med minimal forsinkelse).
- ext-idle-notify â gir komposittservere muligheten til Ă„ sende varsler til klienter om brukerens inaktivitet, som kan brukes til Ă„ aktivere ekstra strĂžmsparingsmoduser etter en viss tid med inaktivitet.
- tearing-control â lar deg deaktivere vertikal synkronisering (VSync) med frame-dropping-puls i fullskjermsprogrammer, brukt for Ă„ hindre tearing ved visning. I multimediaapplikasjoner er dannelsen av artefakter som fĂžlge av tearing en uĂžnsket effekt, men i spillprogrammer kan det aksepteres hvis kampen mot dem fĂžrer til ekstra forsinkelser.
- ext-foreign-toplevel-list â henter informasjon om overflater plassert pĂ„ det aller Ăžverste nivĂ„et (toplevel), som muliggjĂžr festing av vinduer over annet innhold, for eksempel for Ă„ koble til egne paneler og vindusskiftere.
- security-context â lar identifisere klienter som bruker sandbox-isolering. Klienten kan registrere en ny tilkobling til en Wayland-basert komposittserver og koble til sikkerhetskontexten, hvoretter kompositthĂ„ndtereren i henhold til den angitte sikkerhetskonteksten vil begrense mulighetene tilgjengelig for den etablerte tilkoblingen.
- cursor-shape â en alternativ mĂ„te Ă„ tilpasse utseendet til musepekeren pĂ„, basert pĂ„ Ă„ sende en serie musepekerbilder i stedet for Ă„ knytte til overflaten (wl_surface).
- «ext-transient-seat» â er laget for Ă„ opprette midlertidige uavhengige sesjoner (seat) som er beregnet for bruk sammen med virtuelle innspillingsenheter. For eksempel, ved implementering av muligheten for Ă„ koble til en ekstern arbeidsflate, gjĂžr protokollen det mulig Ă„ opprette en egen sesjon for hver bruker med virtuelle tastatur og mus.
- «xdg-toplevel-drag» â utvider «drag & drop» mekanismen med muligheten for Ă„ feste vinduer pĂ„ Ăžverste nivĂ„ til flyttingen, som kan brukes til Ă„ for eksempel organisere dra-og-slipp av verktĂžylinjer eller nettleserfaner. Den nye protokollen lar deg opprette frakoblede deler av vinduet som under draing blir til nye vinduer og kan flyttes over eksisterende vinduer fĂžr de blir festet igjen.
- «xdg-dialog» â lar deg tilordne kjennetegn spesifikke for dialogvinduer til overflaten pĂ„ Ăžverste nivĂ„, for eksempel kan du lage modale dialoger som blokkerer brukerens interaksjon med resten av grensesnittet.
- «linux-drm-syncobj» gir verktÞy for eksplisitt synkronisering av buffere ved hjelp av DRM (Direct Rendering Manager) synkroniseringsobjekter. Det antas at den foreslÄtte protokollen i synkronisering under tegning til buffer vil forbedre driften med drivere basert pÄ grafiske API-er som Vulkan og OpenGL (implementeringen er basert pÄ hÄndterere i driverne). Den nye protokollen gir mulighet for Ä sikre at tegneoperasjonen til bufferen er fullfÞrt fÞr komposisjonsmanageren viser denne bufferen.
- alpha-modifier, som lar klienter endre nivÄet av gjennomsiktighet pÄ overflaten og utsette gjennomsiktighetsoperasjoner til komposittserveren, som igjen kan videresende disse operasjonene til KMS.
- xdg-toplevel-icon â binding av ikon til vinduet pĂ„ Ăžverste nivĂ„.
- ext-image-capture-source og ext-image-copy-capture â organisering av opptak av innhold som vises pĂ„ skjermen.
- xdg-system-bell â lar deg sende et systemsignal, som kan brukes som en advarsel i terminalemulatorer for eksempel. Formen pĂ„ signalutgangen bestemmes av komposittadministratoren, og det kan ikke bare vĂŠre lyd, men ogsĂ„ visuell respons.
- fifo â implementerer FIFO-mekanismen (fĂžrst inn, fĂžrst ut) for behandlingen av kĂžen for oppdatering av innholdet pĂ„ visningsflaten. Praktisk sett gjĂžr protokollen det mulig Ă„ bruke venting til vertikal uttoning (vblank) ved utdata fremfor Ă„ bruke callback-anrop ved hver klarhet for Ă„ vise et nytt bilde, noe som lĂžser problemet med hĂžy belastning pĂ„ GPU ved bruk av VSync.
- commit-timing â lar binde et tidsbegrensning til innholdet pĂ„ flaten (komposittserveren mĂ„ vise endringen i innholdet sĂ„ raskt som mulig innen den angitte tiden, men ikke fĂžr).
- ext-data-control â lar privilegerte kunder styre databehandlingen, for eksempel for Ă„ implementere utklippstavleforvaltere.
- ext-workspace â implementerer konseptet virtuelle skrivebord og tilbyr hendelser med informasjon om tilstanden til arbeidsflatene, samt muligheter for Ă„ aktivere og deaktivere arbeidsflater. Protokollen kan brukes til Ă„ opprette paneler og indikatorer som viser en liste over tilgjengelige virtuelle arbeidsflater og lar brukerne bytte mellom dem.
- color-management â gir moglegheiter for fargehandtering og stĂžtte for utvida dynamisk lysstyrke (HDR, High Dynamic Range). Gjennom den laadde utvidinga kan klientapplikasjonar hente informasjon om fargeoverfĂžringsrelaterte eigenskapar ved utstyret og sende data om fargeoverfĂžring av sitt eiget innhald til kompositt-serveren. serveren kan denne informasjonen brukes til automatisk fargestyring ved visning av innhold pĂ„ forskjellige utdataenheter, for eksempel for Ă„ konvertere innholdet til en form som passer for visning pĂ„ HDR-skjermer. ICC-profiler brukes til Ă„ beskrive fargeomrĂ„der.
- xdg-toplevel-tag gir Wayland-klienter mulighet til Ä knytte merker til overflater pÄ toppnivÄ som komposittserveren kan bruke for Ä identifisere vinduer etter omstart av applikasjonen (for eksempel kan applikasjonen sette merker «hovedvindu» og «innstillinger» for hovedvinduet og vinduet med innstillinger). Slik identifikasjon er nyttig for Ä gjenopprette posisjon, stÞrrelse og egenskaper ved vinduer etter omstart, samt for Ä definere spesielle regler for bestemte vindustyper.
- color-representation er definisjonen av fargerepresentasjonen til Wayland-overflaten. Wayland-klienter kan sende metadata nÞdvendig for Ä definere gjennomsiktighet, fargemodell, underprÞving og kvantisering, og som brukes nÄr bufferen med data som samsvarer med YCbCr-fargemodellen konverteres til RGB-representasjon.
- ext-background-effect â bruk av effekter pĂ„ delvis gjennomsiktige deler av Wayland-flaten, som bakgrunnsuklarhet.
- pointer-warp â lar applikasjonen umiddelbart flytte pekeren til den angitte posisjonen.
Protokoller utviklet i "experimental"-grenen:
- xx-session-management â gjenoppretting av vindusstatus for avbrutte Ăžkter (for eksempel etter en krasj av komposittbehandleren).
- xx-input-method â gir applikasjonar mulegheita til Ă„ implementere inndata-metodar for tekst for komposittar. servere og generere innskrevet tekst, noe som kan brukes, for eksempel, til Ă„ lage virtuelle tastaturer og IME-lag (Input Method Editor) for Ă„ hĂ„ndtere inndata.
- xx-text-input â lar kompositservere implementere innskrivingsmetoder og sende tekst til applikasjoner. Protokollen standardiserer samspillet mellom kompositten serveren og applikasjoner, og lar hĂ„ndtere slike funksjoner som innsendt tekst, behandling av hendelser for endring av innskrivingsfokus og spesifikasjoner for innskrivingsfelt (sprĂ„k, tekstmarkering, innholdstype).
Protokoller utviklet i 'unstable'-grenen:
- 'fullscreen-shell' â styring av fullskjermsmodus.
- 'input-method' â hĂ„ndtering av inndatametoder.
- 'idle-inhibit' â blokkering av oppstart av skjermsparer.
- 'input-timestamps' â tidsstempler for inndatahendelser.
- 'keyboard-shortcuts-inhibit' â styring av vedheft av tastatursnarveier og hurtigtaster.
- 'linux-explicit-synchronization' â Linux-spesifikk mekanisme for synkronisering av buffere relatert til flaten.
- 'pointer-gestures' â styring fra berĂžringsskjermer.
- 'pointer constraints' â begrensninger for pekeenheter (blokkering).
- 'primary-selection' â pĂ„ samme mĂ„te som X11, gir det mulighet for Ă„ arbeide med primĂŠr utklippstavle (primary selection), hvor innsending av informasjon vanligvis skjer med midterste museknapp.
- 'relative pointer events' â relative pekeevent.
- 'text-input' â organisering av tekstinngang.
- 'xdg-foreign' â grensesnitt for interaksjon med 'nabo' klientens flater.
- 'xdg-decoration' â rending av vindusdekorasjoner pĂ„ serversiden.
- 'xdg-output' â tilleggsinformasjon om videoutgang (brukes for brĂžk stĂžrrelse).
- 'xwayland-keyboard-grab' â fangst av inndata i XWayland-applikasjoner.
Kilde: opennet.ru
