Апублікаваны рэліз пакета wayland-protocols 1.27, які змяшчае набор пратаколаў і пашырэнняў, якія дапаўняюць магчымасці базавага пратакола Wayland і даюць магчымасці, неабходныя для пабудовы кампазітных сервераў і карыстацкіх акружэнняў.
Усе пратаколы паслядоўна праходзяць тры фазы - распрацоўка, тэсціраванне і стабілізацыя. Пасля завяршэння стадыі распрацоўкі (катэгорыя "unstable") пратакол змяшчаецца ў галінку "staging" і афіцыйна ўключаецца ў склад набору wayland-protocols, а пасля завяршэння тэсціравання перамяшчаецца ў катэгорыю стабільных. Пратаколы з катэгорыі "staging" ужо можна ўжываць у кампазітных серверах і кліентах, дзе патрабуецца звязаная з імі функцыянальнасць. У адрозненне ад катэгорыі "unstable" у "staging" забаронена ўнясенне змен, якія парушаюць сумяшчальнасць, але ў выпадку выяўленне праблем і недапрацовак падчас тэставанняў, не выключаецца замена новай значнай версіяй пратаколу ці іншым Wayland-пашырэннем.
У новай версіі ў катэгорыю "staging" дададзены новыя пратаколы:
- content-type - дазваляе кліентам перадаць кампазітнаму серверу звесткі аб адлюстроўваемым змесцівам, якія могуць выкарыстоўвацца для аптымізацыі паводзін з улікам змесціва, напрыклад, выстаўленні спецыфічных DRM-уласцівасцяў, такіх як "content type". Заяўлена падтрымка наступных тыпаў кантэнту: none (няма звестак аб тыпе дадзеных), photo (выснова лічбавых фота, які патрабуе мінімальнай апрацоўкі), video (відэа ці анімацыя, патрабуецца больш дакладная сінхранізацыя, каб выключыць подтормаживания) і game (запуск гульняў, патрабуецца выснова з мінімальнай затрымкай).
- ext-idle-notify - дае магчымасць кампазітным серверам перадаваць кліентам апавяшчэння аб неактыўнасці карыстальніка, што можа выкарыстоўвацца для актывацыі дадатковых рэжымаў энергазберажэння пасля вызначанага часу неактыўнасці.
У наш час у склад wayland-protocols уваходзяць наступныя стабільныя пратаколы, у якіх забяспечваецца зваротная сумяшчальнасць:
- «viewporter» - дазваляе кліенту выконваць дзеянні па маштабаванні і абразанні краёў паверхні на баку сервера.
- «presentation-time» - забяспечвае адлюстраванне відэа.
- "xdg-shell" - інтэрфейс стварэння і ўзаемадзеяння з паверхнямі як з вокнамі, што дазваляе іх перарухаць па экране, згортваць, разгортваць, змяняць памер і г.д.
Пратаколы, якія тэстуюцца ў галінцы «staging»:
- drm-lease - дае рэсурсы, неабходныя для фарміравання стэрэакарцінкі з рознымі буферамі для левага і правага вока пры вывадзе на шлемы віртуальнай рэальнасці.
- "ext-session-lock" - вызначае сродкі блакіроўкі сеансу, напрыклад, падчас працы захавальніка экрана або вываду дыялогу аўтэнтыфікацыі.
- «single-pixel-buffer» - дазваляе ствараць аднапіксэльныя буферы, якія ўключаюць чатыры 32-разрадных значэння RGBA.
- "xdg-activation" - дазваляе перадаць фокус паміж рознымі паверхнямі першага ўзроўню (напрыклад, пры дапамозе xdg-activation адно прыкладанне можа пераключыць фокус на іншае).
Пратаколы, якія распрацоўваюцца ў галінцы "unstable":
- "fullscreen-shell" - кіраванне працай у поўнаэкранным рэжыме.
- "input-method" - апрацоўка метадаў уводу.
- "idle-inhibit" - блакіроўка запуску скрынсэйвера (экраннай застаўкі).
- "input-timestamps" - часовыя пазнакі для падзей уводу.
- "keyboard-shortcuts-inhibit" - кіраванне прымацаваннем клавіятурных камбінацый і гарачых клавіш.
- "linux-dmabuf" - сумеснае выкарыстанне некалькіх відэакартай пры дапамозе тэхналогіі DMABuff.
- "linux-explicit-synchronization" - спецыфічны для Linux механізм сінхранізацыі буфераў у прывязцы да паверхні.
- "pointer-gestures" - кіраванне з сэнсарных экранаў.
- "pointer constraints" - абмежаванні паказальнікаў (блакіроўка).
- "primary-selection" – па аналогіі з X11 забяспечвае працу першаснага буфера абмену (primary selection), устаўка інфармацыі з якога звычайна ажыццяўляецца сярэдняй кнопкай мышы.
- "relative pointer events" - адносныя падзеі паказальнікаў.
- "tablet" - падтрымка ўводу з планшэтаў.
- "text-input" - арганізацыя ўводу тэксту.
- "xdg-foreign" – інтэрфейс узаемадзеяння з паверхнямі "суседняга" кліента.
- "xdg-decoration" - адмалёўка дэкарацый вокнаў на баку сервера.
- "xdg-output" - дадатковыя звесткі аб відэавыхадзе (выкарыстоўваецца для дробавага маштабавання).
- "xwayland-keyboard-grab" - захоп уводу ў прыкладаннях XWayland.
Крыніца: opennet.ru