Wayland-Protocols 1.48 發布

wayland-protocols 軟體包 1.48 已發布,其中包含一組協議和擴展,這些協議和擴展是對 Wayland 核心協議的補充,並提供了構建複合伺服器和用戶環境所需的功能。

在新版本中:

  • xdg-session-management 協定已新增至暫存類別中,它能夠從基於 Wayland 的環境中中斷的會話中恢復視窗的狀態和位置,例如在複合伺服器或應用程式崩潰之後。
  • 文字輸入協定已擴展,允許複合伺服器實現輸入法並將文字發送到應用程式。例如,新增了 `no_emoji` 標誌用於無表情符號輸入;實現了對文字插入之外的其他操作的支援;新增了 `language` 標誌用於傳輸語言訊息;新增了顯示和隱藏輸入面板的請求;以及新增了 `preedit_hint` 標誌用於自訂預編輯樣式。
  • 增加了實驗性的 xx-cutouts 協議,用於獲取有關螢幕上的切口的資訊(例如,智慧型手機螢幕上前置鏡頭下方的區域)。
  • 我們新增了一種實驗性的 xx-zones 協議,用於建立頂級視窗並將其新增至「區域」(即具有獨立座標空間的環境)。該協定允​​許對視窗進行邏輯排列,使每個視窗都相對於其他所有視窗進行定位。
  • 新增了一個實驗性協定 xx-keyboard-filter,允許客戶端攔截選定的鍵盤事件、修改輸入事件或阻止某些事件傳遞到焦點 Wayland 表面。

所有協議都會依次經歷開發、測試和穩定化階段。完成開發階段(「不穩定」類別)後,協議會被放入「預發布」分支,並正式納入 wayland-protocols 套件。測試完成後,協議會被移至穩定化類別。 「預發布」類別中的協議隨後即可用於複合協議中。 伺服器 以及需要相關功能的客戶端。與「不穩定」類別不同,「預發布」類別禁止任何會破壞相容性的變更。但是,如果在測試過程中發現問題或缺陷,則不能排除使用新的、重要的協議版本或其他 Wayland 擴充功能進行替換的可能性。

為了加快向開發人員交付協議,並鼓勵在現有專案中儘早實施協議,從上一個版本開始,添加了一個「實驗」階段,允許進行破壞兼容性的更改以及添加可以逐步提升到適當級別的「原始」協議。雖然協議需要組建支援團隊並從審閱者那裡收到一定數量的確認(ACK)才能進入準備階段,但它只需要在兩週的審查期間沒有收到任何異議(NACK)即可進入實驗階段。

wayland-protocols 套件目前包含以下穩定協議,這些協議向後相容:

  • 視口」-允許客戶端對側面表面的邊緣進行縮放和裁剪操作 服務器.
  • “presentation-time”——提供視頻顯示。
  • 「xdg-shell」 是一個用於建立視窗並與其互動的介面,可讓您在螢幕上移動它們、折疊、展開、調整大小等。
  • 「linux-dmabuf」-提供基於 DMA-BUF 建立 wl_buffers 的功能。
  • “手寫板”- 組織圖形輸入板的輸入。

在“staging”分支中測試的協議:

  • drm-lease - 提供在虛擬現實頭盔上顯示時為左右眼形成具有不同緩衝區的立體圖像所需的資源。
  • “ext-session-lock” - 定義鎖定會話的方式,例如,在屏幕保護程序的操作或身份驗證對話框的輸出期間。
  • “單像素緩衝區”- 允許您創建包含四個 32 位 RGBA 值的單像素緩衝區。
  • “xdg-activation” - 允許您在第一層的不同表面之間轉移焦點(例如,使用 xdg-activation,一個應用程序可以將焦點切換到另一個)。
  • 內容類型 - 允許客戶端傳遞複合內容 伺服器 有關顯示內容的資訊可用於優化內容感知行為,例如設定特定的 DRM 屬性,例如「內容類型」。聲明支援以下內容類型:無(無資料類型資訊)、照片(需要最少處理的數位照片輸出)、影片(影片或動畫,需要更精確的同步以避免卡頓)和遊戲(遊戲啟動,需要輸出延遲最小)。
  • ext-idle-notify - 允許複合服務器向客戶端發送用戶不活動通知,可用於在一定數量的不活動後激活額外的省電模式。
  • 撕裂控制 - 讓您在全螢幕應用程式中使用垂直阻尼脈衝停用垂直同步 (VSync),用於防止輸出撕裂。 在多媒體應用中,由於撕裂而產生的偽影是一種不受歡迎的效果,但在遊戲程式中,如果處理偽影會導致額外的延遲,則可以容忍這些偽影。
  • ext-foreign-toplevel-list - 檢索有關放置在頂層的表面的信息,這允許您組織視窗以停靠在其他內容之上,例如,附加您自己的面板和視窗開關。
  • security-context - 允許您使用沙箱隔離來識別客戶端。用戶端可以向基於 Wayland 的組合伺服器註冊一個新連接,並向其附加安全上下文,之後組合管理器將根據指定的安全上下文限制已建立的連接可用的功能。
  • 遊標形狀是自訂遊標外觀的另一種方法,它基於傳遞一系列遊標影像而不是捕捉到表面(wl_surface)。
  • 「ext-transient-seat」 - 旨在建立臨時獨立會話(席位),設計用於虛擬輸入裝置。例如,在實現連接到遠端桌面的功能時,該協定可讓您使用虛擬鍵盤和滑鼠為每個使用者建立單獨的會話。
  • “xdg-toplevel-drag” - 擴展“拖放”機制,能夠將頂級視窗附加到拖曳操作,例如,可以使用滑鼠組織工具列或瀏覽器選項卡的拖曳。新協定允許您建立視窗的可拆卸部分,當從該視窗拖曳時,這些部分將成為新窗口,並且可以在重新附加之前移動到現有視窗的頂部。
  • 「xdg-dialog」 - 允許您將特定於對話方塊的屬性指派給頂級表面,例如,您可以建立阻止使用者與介面其餘部分互動的模式對話方塊。
  • 「linux-drm-syncobj」-提供使用 DRM(直接渲染管理器)同步物件進行明確緩衝區同步的工具。假設在渲染到緩衝區的同步環境中,所提出的協定將改善基於 Vulkan 和 OpenGL 圖形 API 的驅動程式的工作(實作基於驅動程式中的處理程序)。新的協定可以確保在合成管理器顯示該緩衝區之前,對緩衝區的繪製操作已經完成。
  • alpha-modifier,允許客戶端更改表面和傳輸操作的透明度級別,以確保複合伺服器一側的透明度,而複合伺服器可以將這些操作重定向到 KMS。
  • xdg-toplevel-icon - 將圖示綁定到頂級視窗。
  • ext-image-capture-source 和 ext-image-copy-capture - 組織擷取畫面上顯示的內容。
  • xdg-system-bell - 讓您輸出系統訊號,該訊號可用作終端模擬器中的警告等。訊號輸出的形式由複合管理器決定;它不僅可以是聲音,還可以是視覺反應。
  • fifo - 實作 FIFO(先進先出)機制來處理顯示表面的內容更新佇列。在實用方面,該協定允許輸出使用等待垂直掃描完成(vblank)的方式,而不是每次準備好顯示新幀時使用回調調用,這解決了使用 VSync 時 GPU 負載較高的問題。
  • commit-timing - 允許您將時間限制綁定到表面內容(如果可能的話,複合伺服器應在指定時間之後反映內容更改,但不能更早)。
  • ext-data-control - 允許特權用戶端控制資料處理,例如實作剪貼簿管理器。
  • ext-workspace — 實現了這個概念 虛擬桌面 該協定提供包含桌面狀態資訊的事件,並支援啟用和停用桌面。它還可用於建立儀表板和指示器,顯示可用虛擬桌面的清單並允許在它們之間切換。
  • 色彩管理-提供色彩管理功能並支援高動態範圍 (HDR)。此擴充功能允許客戶端應用程式取得輸出裝置的顏色相關屬性訊息,並將自身內容的顏色屬性資料傳遞給複合伺服器。在複合模式下, 服務器 這些資訊可用於在各種輸出裝置上顯示內容時的自動色彩管理,例如,將內容轉換為適合在 HDR 顯示器上顯示的簡報。 ICC 設定檔用於描述色彩空間。
  • xdg-toplevel-tag — 允許 Wayland 用戶端將標籤附加到頂層表面,合成伺服器可以在應用程式重新啟動後使用這些標籤來識別視窗(例如,應用程式可能會為主視窗和設定視窗設定「主視窗」和「設定」標籤)。這種識別對於重新啟動後恢復視窗的位置、大小和屬性以及為個別類型的視窗定義特殊規則很有用。
  • color-representation — 定義 Wayland 表面的顏色表示法。 Wayland 用戶端可以傳遞定義透明度、顏色模型、子採樣和量化範圍所需的元數據,並在將包含與 YCbCr 顏色模型對應的數據的緩衝區轉換為 RGB 表示時使用。
  • ext-background-effect - 將效果應用於 Wayland 表面的半透明部分,例如背景模糊。
  • pointer-warp-允許應用程式立即將指標移到指定位置。

實驗部門正在製定的方案:

  • xx-session-management - 恢復中斷會話的視窗狀態(例如,在複合管理器崩潰之後)。
  • xx-input-method — 允許應用程式實現複合文字輸入法 服務器 並產生輸入的文本,例如,可用於建立虛擬鍵盤和 IME 層(輸入法編輯器)以處理輸入。
  • xx-text-input 協定允許複合伺服器實作輸入法並將文字傳送到應用程式。該協定規範了複合伺服器之間的交互。 服務器 以及應用程序,並允許您管理諸如傳輸輸入文字、處理輸入焦點變更事件以及考慮輸入欄位的具體情況(語言、文字選擇、內容類型)等功能。

在“不穩定”分支中開發的協議:

  • "fullscreen-shell" - 在全屏模式下控制工作。
  • “input-method”——輸入法的處理。
  • “idle-inhibit”——阻止屏幕保護程序(screen saver)的啟動。
  • "input-timestamps" - 輸入事件的時間戳。
  • "keyboard-shortcuts-inhibit" - 控制鍵盤快捷鍵和熱鍵的附加。
  • 「linux-explicit-synchronization」是特定於 Linux 用於同步緩衝區與表面的機制。
  • “指針手勢”- 通過觸摸屏進行控制。
  • “指針約束”——指針約束(阻塞)。
  • "primary-selection" - 與 X11 類比,它提供了主剪貼板(主選擇),通常使用鼠標中鍵從中插入信息。
  • “相對指針事件”——相對指針事件。
  • “文本輸入”- 文本輸入的組織。
  • “xdg-foreign”是一個用於與“相鄰”客戶端表面交互的接口。
  • “xdg-decoration”——在服務器端渲染窗口裝飾。
  • "xdg-output" - 關於視頻輸出的附加信息(用於分數縮放)。
  • “xwayland-keyboard-grab” - 在 XWayland 應用程序中捕獲輸入。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster