Das Paket wayland-protocols 1.48 wurde veröffentlicht. Es enthÀlt eine Reihe von Protokollen und Erweiterungen, die das Wayland-Kernprotokoll ergÀnzen und die notwendigen Funktionen zum Aufbau von zusammengesetzten Servern und Benutzerumgebungen bereitstellen.
In der neuen Version:
- Das xdg-Session-Management-Protokoll wurde der Staging-Kategorie hinzugefĂŒgt und bietet die Möglichkeit, den Zustand und die Position von Fenstern aus einer unterbrochenen Sitzung in Wayland-basierten Umgebungen wiederherzustellen, beispielsweise nach dem Absturz eines Composite-Servers oder einer Anwendung.
- Das Texteingabeprotokoll wurde erweitert, sodass zusammengesetzte Server Eingabemethoden implementieren und Text an Anwendungen senden können. Beispielsweise wurde das Flag âno_emojiâ fĂŒr die Eingabe ohne Emojis hinzugefĂŒgt, die UnterstĂŒtzung fĂŒr zusĂ€tzliche Aktionen neben der Texteingabe implementiert, das Sprachflag zur Ăbermittlung von Sprachinformationen hinzugefĂŒgt, Anfragen zum Ein- und Ausblenden des Eingabefelds hinzugefĂŒgt und das Flag âpreedit_hintâ zur Anpassung des Vorbearbeitungsstils hinzugefĂŒgt.
- Es wurde ein experimentelles xx-cutouts-Protokoll hinzugefĂŒgt, um Informationen ĂŒber Ausschnitte auf dem Bildschirm zu erhalten (z. B. den Bereich unter der Frontkamera auf dem Smartphone-Bildschirm).
- Ein experimentelles xx-Zonen-Protokoll wurde hinzugefĂŒgt, um Fenster der obersten Ebene zu âZonenâ â Umgebungen mit eigenem Koordinatenraum â zu erstellen und hinzuzufĂŒgen. Dieses Protokoll ermöglicht eine logische Anordnung von Fenstern, wobei jedes Fenster relativ zu jedem anderen Fenster positioniert ist.
- Es wurde ein experimentelles Protokoll, xx-keyboard-filter, hinzugefĂŒgt, um dem Client zu ermöglichen, ausgewĂ€hlte Tastaturereignisse abzufangen, Eingabeereignisse zu modifizieren oder zu verhindern, dass bestimmte Ereignisse an die fokussierte Wayland-OberflĂ€che weitergeleitet werden.
Alle Protokolle durchlaufen nacheinander die Entwicklungs-, Test- und Stabilisierungsphasen. Nach Abschluss der Entwicklungsphase (Kategorie âinstabilâ) wird ein Protokoll in den âStagingâ-Zweig verschoben und offiziell in die Wayland-Protokollsuite aufgenommen. Nach Abschluss der Tests wird es in die Kategorie âstabilâ verschoben. Protokolle der Kategorie âStagingâ können dann in Kompositen verwendet werden. Server und Clients, die entsprechende Funktionen benötigen. Im Gegensatz zur Kategorie âinstabilâ sind in der âStagingâ-Umgebung Ănderungen, die die KompatibilitĂ€t beeintrĂ€chtigen, nicht zulĂ€ssig. Sollten jedoch wĂ€hrend der Tests Probleme oder MĂ€ngel entdeckt werden, kann ein Austausch gegen eine neue, wichtige Protokollversion oder eine andere Wayland-Erweiterung nicht ausgeschlossen werden.
Um die Bereitstellung von Protokollen fĂŒr Entwickler zu beschleunigen und eine frĂŒhzeitige Implementierung von Protokollen in bestehende Projekte zu fördern, wurde beginnend mit der vorherigen Version eine âexperimentelleâ Phase hinzugefĂŒgt, die Ănderungen ermöglicht, die die KompatibilitĂ€t beeintrĂ€chtigen, und das HinzufĂŒgen von ârohenâ Protokollen, die schrittweise auf das richtige Niveau gebracht werden können. WĂ€hrend fĂŒr ein Protokoll die Bildung eines Supportteams und das Erhalten einer bestimmten Anzahl von BestĂ€tigungen (ACKs) von Gutachtern erforderlich ist, um in die Staging-Phase einzutreten, mĂŒssen fĂŒr den Eintritt in die experimentelle Phase wĂ€hrend der zweiwöchigen ĂberprĂŒfungsphase nur keine EinwĂ€nde (NACKs) vorliegen.
Die Wayland-Protokollsuite umfasst derzeit die folgenden stabilen Protokolle, die abwÀrtskompatibel sind:
- âViewporterâ â ermöglicht dem Client, Aktionen zum Skalieren und Beschneiden der Kanten der OberflĂ€che an der Seite durchzufĂŒhren. Server.
- âpresentation-timeâ â stellt Videoanzeige bereit.
- âxdg-shellâ ist eine Schnittstelle zum Erstellen von und Interagieren mit OberflĂ€chen als Fenster, die es Ihnen ermöglicht, diese auf dem Bildschirm zu verschieben, zu reduzieren, zu erweitern, ihre GröĂe zu Ă€ndern usw.
- âlinux-dmabufâ â bietet Funktionen zum Erstellen von wl_buffers basierend auf DMA-BUF.
- âTabletâ â Organisation der Eingabe von Grafiktabletts.
Im âStagingâ-Zweig getestete Protokolle:
- drm-lease â stellt die notwendigen Ressourcen bereit, um bei der Ausgabe an Virtual-Reality-Headsets ein Stereobild mit unterschiedlichen Puffern fĂŒr das linke und rechte Auge zu erzeugen.
- âext-session-lockâ â definiert eine Möglichkeit zum Sperren einer Sitzung, beispielsweise wĂ€hrend der Bildschirmschoner lĂ€uft oder der Authentifizierungsdialog angezeigt wird.
- âsingle-pixel-bufferâ â ermöglicht die Erstellung von Einzelpixelpuffern, die vier 32-Bit-RGBA-Werte enthalten.
- âxdg-activationâ â ermöglicht es Ihnen, den Fokus zwischen verschiedenen OberflĂ€chen der ersten Ebene zu ĂŒbertragen (mit xdg-activation kann beispielsweise eine Anwendung den Fokus auf eine andere wechseln).
- Content-Type â ermöglicht es Clients, zusammengesetzte Inhalte zu ĂŒbermitteln Server Informationen ĂŒber die angezeigten Inhalte, die zur Optimierung des inhaltsbasierten Verhaltens verwendet werden können, wie z. B. die Festlegung spezifischer DRM-Eigenschaften wie âInhaltstypâ. UnterstĂŒtzung fĂŒr die folgenden Inhaltstypen wird deklariert: keine (keine Datentypinformationen), Foto (digitale Fotoausgabe, die eine minimale Verarbeitung erfordert), Video (Video oder Animation, die eine prĂ€zisere Synchronisierung erfordert, um Ruckeln zu vermeiden) und Spiel (Spielstart, der eine Ausgabe mit minimaler Latenz erfordert).
- ext-idle-notify â Ermöglicht Verbundservern das Senden von Benachrichtigungen an Clients ĂŒber BenutzerinaktivitĂ€t, die zum Aktivieren zusĂ€tzlicher Energiesparmodi nach einer bestimmten Zeit der InaktivitĂ€t verwendet werden können.
- Tearing-Control â Ermöglicht die Deaktivierung der vertikalen Synchronisierung (VSync) mit einem vertikalen DĂ€mpfungsimpuls in Vollbildanwendungen, die zum Schutz vor Tearing in der Ausgabe verwendet wird. Bei Multimedia-Anwendungen stellen Tearing-Artefakte einen unerwĂŒnschten Effekt dar, bei Gaming-Programmen können Artefakte jedoch toleriert werden, wenn der Umgang mit ihnen zu zusĂ€tzlichen Verzögerungen fĂŒhrt.
- ext-foreign-toplevel-list â Ruft Informationen ĂŒber auf der obersten Ebene platzierte OberflĂ€chen ab, die es Ihnen ermöglichen, Fenster so zu organisieren, dass sie an anderen Inhalten andocken, um beispielsweise Ihre eigenen Bedienfelder und Fensterschalter anzubringen.
- Sicherheitskontext â ermöglicht die Identifizierung von Clients mithilfe der Sandbox-Isolation. Ein Client kann eine neue Verbindung zu einem Wayland-basierten Verbundserver registrieren und diesem einen Sicherheitskontext hinzufĂŒgen. AnschlieĂend schrĂ€nkt der Verbundmanager die fĂŒr die hergestellte Verbindung verfĂŒgbaren Funktionen basierend auf dem angegebenen Sicherheitskontext ein.
- Cursorform ist eine alternative Möglichkeit, das Erscheinungsbild des Cursors anzupassen, indem eine Reihe von Cursorbildern ĂŒbergeben werden, anstatt an einer OberflĂ€che (wl_surface) einzurasten.
- âext-transient-seatâ â Entwickelt, um temporĂ€re unabhĂ€ngige Sitzungen (Sitze) zu erstellen, die fĂŒr die Verwendung mit virtuellen EingabegerĂ€ten konzipiert sind. Wenn Sie beispielsweise die Möglichkeit implementieren, eine Verbindung zu einem Remote-Desktop herzustellen, können Sie mit dem Protokoll fĂŒr jeden Benutzer eine separate Sitzung mit einer virtuellen Tastatur und Maus erstellen.
- âxdg-toplevel-dragâ â erweitert den âDrag & Dropâ-Mechanismus um die Möglichkeit, Fenster der obersten Ebene an einen Drag-Vorgang anzuhĂ€ngen, der beispielsweise zum Organisieren des Ziehens von Symbolleisten oder Browser-Tabs mit der Maus verwendet werden kann. Mit dem neuen Protokoll können Sie abnehmbare Teile eines Fensters erstellen, die beim Ziehen aus diesem Fenster zu neuen Fenstern werden und ĂŒber das vorhandene Fenster verschoben werden können, bevor sie wieder angefĂŒgt werden.
- âxdg-dialogâ â ermöglicht Ihnen die Zuweisung von dialogspezifischen Attributen zu OberflĂ€chen der obersten Ebene. Sie können beispielsweise modale Dialoge erstellen, die die Benutzerinteraktion mit dem Rest der BenutzeroberflĂ€che blockieren.
- âlinux-drm-syncobjâ â bietet Tools fĂŒr die explizite Puffersynchronisierung mithilfe von DRM-Synchronisierungsobjekten (Direct Rendering Manager). Es wird davon ausgegangen, dass das vorgeschlagene Protokoll im Kontext der Synchronisierung beim Rendern in einen Puffer die Arbeit mit Treibern verbessert, die auf den Grafik-APIs von Vulkan und OpenGL basieren (die Implementierung basiert auf Handlern in den Treibern). Das neue Protokoll ermöglicht es sicherzustellen, dass ein Zeichenvorgang in einen Puffer abgeschlossen ist, bevor der Compositing-Manager diesen Puffer anzeigt.
- Alpha-Modifikator, der es Clients ermöglicht, den Grad der Transparenz der OberflĂ€che zu Ă€ndern und VorgĂ€nge zur GewĂ€hrleistung der Transparenz auf die Seite des Verbundservers zu ĂŒbertragen, der diese VorgĂ€nge wiederum an KMS umleiten kann.
- xdg-toplevel-icon â bindet das Symbol an das Fenster der obersten Ebene.
- ext-image-capture-source und ext-image-copy-capture â Organisation der Erfassung des auf dem Bildschirm angezeigten Inhalts.
- xdg-system-bell â ermöglicht die Ausgabe eines Systemsignals, das beispielsweise als Warnung in einem Terminalemulator verwendet werden kann. Die Form der Signalausgabe liegt im Ermessen des Composite-Managers; es kann nicht nur eine akustische, sondern auch eine visuelle Reaktion sein.
- fifo â implementiert einen FIFO-Mechanismus (First In, First Out) zur Verarbeitung der Inhaltsaktualisierungswarteschlange der angezeigten OberflĂ€che. Auf der praktischen Seite ermöglicht das Protokoll, dass bei der Ausgabe auf den Abschluss des vertikalen Scans (vblank) gewartet wird, anstatt jedes Mal RĂŒckrufaufrufe zu verwenden, wenn ein neuer Frame angezeigt werden soll. Dadurch wird das Problem der hohen GPU-Last bei Verwendung von VSync gelöst.
- commit-timing â ermöglicht es Ihnen, ein Zeitlimit an den OberflĂ€cheninhalt zu binden (der Verbundserver sollte die InhaltsĂ€nderung nach Möglichkeit nach der angegebenen Zeit widerspiegeln, jedoch nicht frĂŒher).
- ext-data-control â Ermöglicht privilegierten Clients die Steuerung der Datenverarbeitung, beispielsweise um Zwischenablage-Manager zu implementieren.
- ext-workspace â implementiert das Konzept virtuelle Desktops Es bietet auĂerdem Informationen zum Status von Desktops sowie die Möglichkeit, Desktops zu aktivieren und zu deaktivieren. Das Protokoll kann verwendet werden, um Dashboards und Indikatoren zu erstellen, die eine Liste der verfĂŒgbaren virtuellen Desktops anzeigen und das Umschalten zwischen ihnen ermöglichen.
- Farbmanagement â ââbietet Funktionen fĂŒr das Farbmanagement und die UnterstĂŒtzung von High Dynamic Range (HDR). Diese Erweiterung ermöglicht es Clientanwendungen, Informationen ĂŒber die farbbezogenen Eigenschaften von AusgabegerĂ€ten zu erhalten und Daten ĂŒber die Farbeigenschaften ihrer eigenen Inhalte an den Composite-Server zu ĂŒbermitteln. Im Composite-Modus Server Diese Informationen können fĂŒr das automatische Farbmanagement bei der Anzeige von Inhalten auf verschiedenen AusgabegerĂ€ten verwendet werden, beispielsweise um Inhalte in eine fĂŒr HDR-Monitore geeignete Darstellung zu konvertieren. ICC-Profile dienen zur Beschreibung von FarbrĂ€umen.
- xdg-toplevel-tag â Ermöglicht Wayland-Clients, Tags an OberflĂ€chen der obersten Ebene anzuhĂ€ngen, die der Compositing-Server verwenden kann, um Fenster nach dem Neustart der Anwendung zu identifizieren (beispielsweise könnte eine Anwendung die Tags âHauptfensterâ und âEinstellungenâ fĂŒr das Hauptfenster und das Einstellungsfenster festlegen). Eine solche Identifizierung ist nĂŒtzlich, um die Position, GröĂe und Eigenschaften von Fenstern nach einem Neustart wiederherzustellen und um spezielle Regeln fĂŒr einzelne Fenstertypen zu definieren.
- Farbdarstellung â definiert die Farbdarstellung der Wayland-OberflĂ€che. Wayland-Clients können Metadaten ĂŒbergeben, die zur Definition von Transparenz, Farbmodell, Unterabtastung und Quantisierungsbereich erforderlich sind und bei der Konvertierung eines Puffers mit Daten, die dem YCbCr-Farbmodell entsprechen, in eine RGB-Darstellung verwendet werden.
- ext-background-effect â wendet Effekte auf halbtransparente Teile einer Wayland-OberflĂ€che an, wie z. B. HintergrundunschĂ€rfe.
- Zeiger-Warp â Ermöglicht einer Anwendung, den Zeiger sofort an eine angegebene Position zu bewegen.
Im experimentellen Zweig werden folgende Protokolle entwickelt:
- xx-session-management â ââstellt den Windows-Status fĂŒr unterbrochene Sitzungen wieder her (z. B. nach einem Absturz des Composite Managers).
- xx-input-method â ermöglicht Anwendungen die Implementierung von Texteingabemethoden fĂŒr zusammengesetzte Daten Server und den eingegebenen Text zu generieren, der beispielsweise zur Erstellung virtueller Tastaturen und IME-Layer (Input Method Editor) zur Verarbeitung von Eingaben verwendet werden kann.
- xx-text-input ermöglicht es zusammengesetzten Servern, Eingabemethoden zu implementieren und Text an Anwendungen zu senden. Das Protokoll standardisiert die Interaktion zwischen zusammengesetzten Servern. Server und Anwendungen, und ermöglicht die Verwaltung von Funktionen wie der Ăbertragung von Eingabetext, der Behandlung von Fokuswechselereignissen und der BerĂŒcksichtigung der Besonderheiten von Eingabefeldern (Sprache, Textauswahl, Inhaltstyp).
Protokolle, die im âinstabilenâ Zweig entwickelt werden:
- âfullscreen-shellâ â Kontrolle der Arbeit im Vollbildmodus.
- âEingabemethodeâ â Eingabemethoden verarbeiten.
- âidle-inhibitâ â Blockieren des Starts des Bildschirmschoners (Bildschirmschoner).
- âinput-timestampsâ â Zeitstempel fĂŒr Eingabeereignisse.
- âkeyboard-shortcuts-inhibitâ â steuert das AnhĂ€ngen von TastaturkĂŒrzeln und Hotkeys.
- "linux-explicit-synchronization" ist spezifisch fĂŒr Linux Mechanismus zur Synchronisierung von Puffern in Bezug auf die OberflĂ€che.
- âZeigergestenâ â Steuerung ĂŒber Touchscreens.
- âZeigerbeschrĂ€nkungenâ â ZeigerbeschrĂ€nkungen (Blockierung).
- âPrimĂ€rauswahlâ â stellt analog zu X11 den Betrieb der primĂ€ren Zwischenablage (PrimĂ€rauswahl) sicher, aus der Informationen normalerweise mit der mittleren Maustaste eingefĂŒgt werden.
- ârelative Zeigerereignisseâ â relative Zeigerereignisse.
- âtext-inputâ â Organisation der Texteingabe.
- âxdg-foreignâ ist eine Schnittstelle zur Interaktion mit den OberflĂ€chen des âbenachbartenâ Clients.
- âxdg-decorationâ â Rendern von Fensterdekorationen auf der Serverseite.
- âxdg-outputâ â zusĂ€tzliche Informationen zur Videoausgabe (wird fĂŒr die fraktionale Skalierung verwendet).
- âxwayland-keyboard-grabâ â Eingaben in XWayland-Anwendungen erfassen.
Source: opennet.ru
