Izdanje Wayland-Protocols 1.48

Predstavljeno je izdanje paketa wayland-protocols 1.48, koje sadrži set protokola i ekstenzija koje dopunjuju osnovni protokol Wayland i pružaju funkcionalnosti potrebne za izgradnju kompozitnih servera i korisničkih okruženja.

V novi različici:

  • U kategoriju „staging“ dodat je protokol xdg-session-management, koji pruža mogućnosti za obnavljanje stanja i pozicije prozora prekinutih sesija u okruženjima zasnovanim na protokolu Wayland, na primer, nakon neuspelog rada kompozitnog servera ili aplikacije.
  • Proširene su mogućnosti protokola text-input, koji omogućava kompozitnim serverima da implementiraju metode unosa i šalju tekst u aplikacije. Na primer, dodat je flag no_emoji za unos bez emoji, uvedena je podrška za dodatne akcije osim umetanja teksta, dodat je flag language za prenos informacija o jeziku, dodati su upiti za prikaz i sakrivanje panela za unos, dodat je flag preedit_hint za podešavanje stila prethodnog uređivanja.
  • Dodat je eksperimentalni protokol xx-cutouts za dobijanje informacija o izrezima na ekranu (na primer, područja ispod prednje kamere na ekranu pametnog telefona).
  • Dodat je eksperimentalni protokol xx-zones za kreiranje i dodavanje prozora višeg nivoa u „zone“ — okruženja sa sopstvenim prostorom koordinata. Protokol omogućava organizovanje logičkog rasporeda prozora, u kojem se svaki prozor postavlja u odnosu na drugi prozor.
  • Dodat je eksperimentalni protokol xx-keyboard-filter za presretanje odabranih događaja tastature od strane klijenta, izmene unosa ili blokiranje prenosa određenih događaja na Wayland površinu u kojoj je fokus unosa.

Svi protokoli se redovno podvrgavaju fazama razvoja, testiranja i stabilizacije. Nakon završetka faze razvijanja (kategorija „unstable“), protokol se premesti u „staging“ granu i službeno se uključuje u paket wayland-protocols, a nakon završetka testiranja premešta se u kategoriju stabilnih. Protokoli iz kategorije „staging“ već se mogu primenjivati u kompozitnim serverima in zákazníkovi, kde je vyžadována funkcionalita s nimi spojená. Na rozdíl od kategorie „unstable“ je v „stagingu“ zakázáno provádění změn narušujících kompatibilitu, ale v případě zjištění problémů a nedostatků během testování nelze vyloučit výměnu za novou významnou verzi protokolu nebo jiné Wayland rozšíření.

Aby se urychlilo doručení protokolů vývojářům a podpořila se včasná implementace protokolů do stávajících projektů, byla od předchozího vydání dodatečně přidána fáze „experimental“, ve které jsou povoleny změny narušující kompatibilitu a přidání „syrových“ protokolů, které lze postupně rozvíjet na požadovanou úroveň. Pokud je pro zařazení protokolu do fáze „staging“ nutné vytvořit podpůrný tým a získat určité množství potvrzení (ACK) od účastníků recenzování, pro zařazení do „experimental“ stačí absence námitek (NACK) během dvoutýdenního recenzního období.

V současné době obsahuje soubor wayland-protocols následující stabilní protokoly, které zajišťují zpětnou kompatibilitu:

  • viewporter“ – umožňuje klientovi provádět akce změny měřítka a ořezávání okrajů plochy na straně strežnika.
  • „presentation-time“ – zajišťuje zobrazování videa.
  • „xdg-shell“ – rozhraní pro vytváření a interakci s plochami jako s okny, což umožňuje je přesouvat na obrazovce, minimalizovat, maximalizovat, měnit velikost atd.
  • „linux-dmabuf“ – poskytuje možnosti pro vytváření wl_bufferů na základě DMA-BUF.
  • „tablet“ – organizace vstupu z grafických tabletů.

Protokoly testované ve větvi „staging“:

  • drm-lease – poskytuje zdroje potřebné k vytváření stereoskopického obrazu s různými buffery pro levé a pravé oko při zobrazování na hemlch virtuální reality.
  • „ext-session-lock“ – určuje prostředky pro zamykání sezení, například během provozu spořiče obrazovky nebo zobrazování autentizačního dialogu.
  • „single-pixel-buffer“ – umožňuje vytvářet jednopixelové buffery obsahující čtyři 32bitové hodnoty RGBA.
  • „xdg-activation“ – umožňuje předat fokus mezi různými plochami prvního stupně (například pomocí xdg-activation může jedna aplikace přepnout fokus na jinou).
  • content-type — omogoča strankam, da posredujejo kompozitnemu strežniku podatke o predstavljenem vsebinu, ki se lahko uporabijo za optimizacijo obnašanja na podlagi vsebine, na primer, nastavitvi specifičnih lastnosti DRM, kot so „content type“. Podprti so naslednji tipi vsebine: none (brez podatkov o vrsti podatkov), photo (prikaz digitalnih fotografij, ki zahteva minimalno obdelavo), video (video ali animacija, pri čemer je potrebna natančnejša sinhronizacija za preprečitev zatikanja) in game (začetek iger, pri katerem je potrebno prikazovanje z minimalno zakasnitvijo).
  • ext-idle-notify — omogoča kompozitnim strežnikom, da strankam posredujejo obvestila o neaktivnosti uporabnika, kar se lahko uporabi za aktiviranje dodatnih načinov varčevanja z energijo po določenem času neaktivnosti.
  • tearing-control — omogoča onemogočitev vertikalne sinhronizacije (VSync) pri celozaslonskih aplikacijah s pulzom za ugašanje okvirjev, ki se uporablja za zaščito pred nastajanjem razpok pri prikazu (tearing). V multimedijskih aplikacijah je pojav artefaktov zaradi razpok nezaželen učinek, vendar v igrah z artefakti to lahko sprejmemo, če boj proti njim povzroča dodatne zakasnitve.
  • ext-foreign-toplevel-list — pridobitev informacij o površinah, postavljenih na najvišji ravni (toplevel), ki omogočajo organizacijo pritrjevanja oken nad drugo vsebino, na primer za povezovanje lastnih plošč in preklopnikov oken.
  • security-context — omogoča identifikacijo strank, ki uporabljajo izolacijo peskovnika. Stranka lahko registrira novo povezavo s kompozitnim strežnikom na osnovi Wayland in ji priloži varnostni kontekst, po čemer bo kompozitni upravitelj na podlagi navedenega varnostnega konteksta omejil možnosti, dostopne za vzpostavljeno povezavo.
  • cursor-shape — alternativen način za prilagajanje videza kazalca, ki temelji na posredovanju serije slik kazalca namesto vezave na površino (wl_surface).
  • «ext-transient-seat» — je namenjen za ustvarjanje začasnih neodvisnih sej (seat), ki so zasnovane za uporabo skupaj z virtualnimi vhodnimi napravami. Na primer, pri implementaciji možnosti povezovanja prek oddaljenega namizja protokol omogoča ustvarjanje ločenih sej za vsakega uporabnika z virtualno tipkovnico in miško.
  • «xdg-toplevel-drag» — širi mehanizem «drag & drop» z možnostjo pritrditve oken najvišje ravni na operacijo premikanja, kar se lahko na primer uporablja za organizacijo premikanja orodnih vrstic ali zavihkov brskalnika z miško. Nov protokol omogoča ustvarjanje odklopljivih delov okna, ki ob premikanju iz tega okna postanejo nova okna in se lahko premikajo čez obstoječe okno, preden se ponovno pritrdi.
  • «xdg-dialog» — omogoča dodelitev oznak površinam najvišje ravni, specifičnih za pogovorna okna, na primer, lahko ustvarjamo modalna pogovorna okna, ki blokirajo interakcijo uporabnika z ostalim delom vmesnika.
  • «linux-drm-syncobj» — zagotavlja orodja za izrecno sinhronizacijo pomnilnika s pomočjo DRM (Direct Rendering Manager) sinhronizacijskih predmetov. Predpostavlja se, da bo v kontekstu sinhronizacije pri risanju v pomnilnik predlagani protokol izboljšal sodelovanje z gonilniki na osnovi grafičnih API-jev Vulkan in OpenGL (implementacija temelji na obdelovalnikih v gonilnikih). Nov protokol omogoča, da se prepričate, da je operacija risanja v pomnilnik končana, preden kompozicijski upravljalec prikaže ta pomnilnik.
  • alpha-modifier, ki omogoča strankam, da spremenijo raven prosojnosti površine in prenesejo operacije za zagotavljanje prosojnosti na stran kompozicijskega strežnika, ki lahko te operacije preusmeri na KMS.
  • xdg-toplevel-icon — povezovanje ikone z oknom najvišje ravni.
  • ext-image-capture-source in ext-image-copy-capture — organizacija zajema vsebine, prikazane na zaslonu.
  • xdg-system-bell — omogoča predvajanje sistemskega signala, ki se lahko uporablja, na primer, kot opozorilo v terminalskem emulatorju. Oblika predvajanja signala je določena po izbiri kompozicijskega upravljalca, to lahko ni le zvok, temveč tudi vizualni odziv.
  • fifo — реализует механизм FIFO (первым пришёл — первым ушёл) для обработки очереди обновления содержимого отображаемой поверхности. Практически, протокол позволяет использовать ожидание завершения вертикальной развёртки (vblank) вместо callback-вызовов при каждой готовности к отображению нового кадра, что решает проблему высокой нагрузки на GPU при использовании VSync.
  • commit-timing — позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).
  • ext-data-control — предоставляет привилегированным клиентам возможность управлять обработкой данных, что может быть использовано для реализации менеджеров буфера обмена.
  • ext-workspace — реализует концепцию virtualnih delovnih namizij и предлагает события с информацией о состоянии рабочих столов, а также возможность активации и деактивации рабочих столов. Протокол может применяться для создания панелей и индикаторов, которые выводят список доступных виртуальных рабочих столов и позволяют переключаться между ними.
  • color-management — предоставляет возможности для управления цветом и поддержку расширенного динамического диапазона яркости (HDR, High Dynamic Range). С помощью добавленного расширения клиентские приложения могут получать информацию о связанных с цветопередачей свойствах устройств вывода и передавать композитному серверу данные о цветопередаче своего контента. В композитном strežnikom данная информация может использоваться для автоматического управления цветом при отображении содержимого на различных устройствах вывода, например, для преобразования контента в формат, подходящий для отображения на HDR-мониторах. Для описания цветовых пространств используются профили ICC.
  • xdg-toplevel-tag — позволяет Wayland-клиентам прикреплять теги к верхним уровням поверхностей, которые композитный сервер может использовать для идентификации окон после перезапуска приложения (например, приложение может установить теги «основное окно» и «настройки» для основного окна и окна с настройками). Эта идентификация полезна для восстановления позиции, размера и свойств окон после перезапуска, а также для определения особых правил для отдельных видов окон.
  • color-representation — opredelitev barvne predstavitve Wayland površine. Wayland odjemalci lahko prenesejo metapodatke, potrebne za določitev prosojnosti, barvnega modela, poddiskretizacije in obsega kvantizacije, ki se uporabljajo pri pretvorbi medijskega pomnilnika z podatki, ki ustrezajo barvnemu modelu YCbCr, v predstavitev RGB.
  • ext-background-effect — uporaba učinkov na prozornih delih Wayland površine, kot je zameglitev ozadja.
  • pointer-warp — omogoča aplikaciji, da takoj premakne kazalec na določeno mesto.

Protokoli, ki se razvijajo v veji „experimental“:

  • xx-session-management — obnavljanje stanja oken za prekinjene seje (na primer po nenadnem končanju kompozitnega upravljalnika).
  • xx-input-method — omogoča aplikacijam, da uveljavijo metode vnosa besedila za kompozitne strežnikov in oblikujejo vnešeno besedilo, kar se lahko uporablja, na primer, za ustvarjanje virtualnih tipkovnic in IME plasti (urejevalnik metode vnosa) za obdelavo vnosa.
  • xx-text-input — omogoča kompozitnim strežnikom, da uveljavijo metode vnosa in pošljejo besedilo v aplikacije. Protokol standardizira interakcijo med kompozitnim serverom in aplikacijami ter omogoča upravljanje z možnostmi, kot so prenos vnašanega besedila, obdelava dogodkov o spremembi fokusa vnosa in upoštevanje posebnosti vnosnih polj (jezik, označevanje besedila, vrsta vsebine).

Protokoli, ki se razvijajo v veji „unstable“:

  • „fullscreen-shell“ — upravljanje dela v celozaslonskem načinu.
  • „input-method“ — obdelava metod vnosa.
  • „idle-inhibit“ — blokiranje zagonov ekrannega varčevalnika.
  • „input-timestamps“ — časovne oznake za dogodke vnosa.
  • „keyboard-shortcuts-inhibit“ — upravljanje pritrjevanja kombinacij na tipkovnici in hitrih tipk.
  • „linux-explicit-synchronization“ — za Linux specifičen mehanizem sinhronizacije pomnilnika v povezavi s površino.
  • „pointer-gestures“ — upravljanje s potezami na zaslonih na dotik.
  • „pointer constraints“ — omejitve kazalcev (blokada).
  • „primary-selection“ — po analogiji z X11 omogoča delovanje primarnega odložišča, katerega vstavljanje običajno poteka s srednjo miškino tipko.
  • „relative pointer events“ — relativni dogodki kazalca.
  • „text-input“ — organizacija vnosa besedila.
  • „xdg-foreign“ — vmesnik za interakcijo s površinami „sosednjega“ odjemalca.
  • «xdg-decoration» — risanje okenskih dekoracij na strežniku.
  • «xdg-output» — dodatne informacije o video izhodu (uporablja se za sorazmerno merjenje).
  • «xwayland-keyboard-grab» — zajem vnosa v aplikacijah XWayland.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster