È stato pubblicato il rilascio del pacchetto wayland-protocols 1.21, contenente un insieme di protocolli e estensioni che arricchiscono le funzionalità del protocollo di base Wayland e forniscono le capacità necessarie per costruire server compositi e ambienti desktop.
A partire dalla versione 1.21, la fase di sviluppo dei protocolli «unstable» è stata sostituita da «staging», per rendere più fluido il processo di stabilizzazione dei protocolli testati in ambienti operativi. Tutti i protocolli attraversano tre fasi: sviluppo, test e stabilizzazione. Dopo il completamento della fase di sviluppo, il protocollo viene spostato nel ramo «staging» e incluso nel pacchetto wayland-protocols; dopo il completamento del test, viene trasferito nella categoria stabile. I protocolli della categoria «staging» possono già essere utilizzati nei compositori server e nei client che richiedono funzionalità correlate. Nella categoria «staging» è vietato apportare modifiche che violino la compatibilità, ma in caso di problemi e incertezze riscontrati durante i test, non si esclude la sostituzione con una nuova versione significativa del protocollo o con un'altra estensione di Wayland.
Nella nuova versione è stata introdotta la possibilità di installazione utilizzando il sistema di build Meson invece di autotools. In futuro, è previsto di interrompere completamente il supporto per autotools. È stato aggiunto alla categoria staging un nuovo protocollo xdg-activation, che consente di trasferire il focus tra diverse superfici di primo livello. Ad esempio, tramite xdg-activation, un'interfaccia per l'avvio delle applicazioni può passare il focus a un'altra interfaccia oppure un'app può spostare il focus su un'altra. Il supporto per xdg-activation è già stato implementato per Qt, GTK, wlroots, Mutter e KWin.
Attualmente, il pacchetto wayland-protocols include i seguenti protocolli stabili, in cui è garantita la retrocompatibilità:
- viewporter" – consente al cliente di eseguire operazioni di scaling e ritaglio dei bordi della superficie sul lato server.
- «presentation time» — garantisce la visualizzazione dei video.
- "xdg-shell" è un'interfaccia per la creazione e l'interazione con le superfici come finestre, consentendo di spostarle sullo schermo, minimizzarle, massimizzarle, cambiarne le dimensioni, ecc.
Protocolli testati nella branch «staging»:
- «fullscreen-shell» — gestione dell'operatività in modalità schermo intero;
- «input-method» — gestione dei metodi di input;
- «idle-inhibit» — blocco dell'avvio dello screensaver;
- «input-timestamps» — timestamp per gli eventi di input;
- «linux-dmabuf» — condivisione di più schede grafiche tramite la tecnologia DMABuff;
- «text-input» — organizzazione dell'input di testo;
- «pointer-gestures» — gestione da touchscreen;
- «relative pointer events» — eventi relativi ai puntatori;
- «vincoli di puntatore» — restrizioni sui puntatori (blocco);
- «tablet» — supporto per l'input da tablet.
- «xdg-foreign» — interfaccia di interazione con le superfici di un client «adiacente»;
- «xdg-decoration» — rendering delle decorazioni delle finestre sul lato del server;
- «xdg-output» — informazioni aggiuntive sull'uscita video (utilizzato per il ridimensionamento frazionale);
- «xwayland-keyboard-grab» — acquisizione dell'input nelle applicazioni XWayland.
- primary-selection — analogamente a X11, gestisce il funzionamento del buffer di appunti primario (primary selection), il cui incollaggio avviene solitamente con il pulsante centrale del mouse;
- linux-explicit-synchronization — meccanismo di sincronizzazione dei buffer specifico per Linux, legato alla superficie.
- xdg-activation — consente di trasferire il focus tra diverse superfici di primo livello (ad esempio, tramite xdg-activation un'applicazione può spostare il focus su un'altra).
Fonte: opennet.ru
