經過八個月的開發,基於 Wayland 協定建置、相容 i3 平鋪視窗管理器和 i3bar 面板的合成管理器 Sway 1.11 正式發布。該專案使用 C 語言編寫,並以 MIT 許可證發布。該項目旨在用於… Linux 以及 FreeBSD。
Sway 允許您在螢幕上放置窗口,而不是在空間上,而是在邏輯上。視窗按網格排列,可最佳利用螢幕空間,並允許您僅使用鍵盤快速操作視窗。在命令、設定檔和 IPC 層級提供 i3 相容性,允許 Sway 用作使用 Wayland 而不是 X3 的透明 i11 替代品。
為了創建成熟的用戶環境,提供了以下附帶組件:swayidle(實現待機模式的後台進程)、swaylock(螢幕保護程式)、mako(通知管理器)、grim(創建螢幕截圖)、slurp(選擇螢幕上的一個區域)、wf-recorder(捕獲視訊)、waybar(應用程式列)、virtboard(螢幕鍵盤)、wl-clipboard(使用剪貼簿)、wallutils(管理桌面桌布)。
Sway 正在開發為建構在 wlroots 庫之上的模組化項目,其中包含用於組織組合管理員工作的所有基本原語。 Wlroots 包括抽象存取畫面、輸入裝置、渲染而不直接存取 OpenGL 的後端、與 KMS/DRM、libinput、Wayland 和 X11 的互動(提供了一個層用於運行基於 Xwayland 的 X11 應用程式)。除了 Sway 之外,wlroots 庫也在其他專案中積極使用。除了對 C/C++ 語言的支援之外,還提供了對 Scheme、Common Lisp、Go、Haskell、OCaml、Zig、Python 和 Rust 的綁定。
在新版本中:
- 增加了對 Wayland linux-drm-syncobj-v1 協定的支持,用於明確緩衝區同步,確保在合成管理器顯示該緩衝區之前完成對緩衝區的繪製操作。
- 增加了對 Wayland alpha-modifier-v1 協定的支持,該協定允許客戶端更改表面的透明度級別,並將透明度操作移至合成端。 服務器進而可以將這些操作轉送給在核心層級運行的 KMS 模組。
- 增加了對 Wayland 協議 ext-image-capture-source 和 ext-image-copy-capture 的支持,用於捕獲螢幕上顯示的內容。
- 增加了對 Wayland ext-data-control 協議的支持,該協議允許特權客戶端控制資料處理,例如實現剪貼簿管理器。
- 進程間通訊 (IPC) 機制整合了對使用 Wayland security-context-v1 協定實現的安全上下文元資料的支援。
- 改進的輸出設定邏輯,以便更好、更快地回滾到其他裝置。
- 增加了對指針控制鍵的支援。
- 用於呼叫 pactl、brightnessctl 和 grim 實用程式的鍵盤快速鍵已新增至預設設定檔。
- 預設選單已切換為使用 wmenu-run 實用程序,不再依賴 dmenu_path 腳本。
- 使用了 wlroots 0.19 函式庫的新功能。 wlroots 的變更包括:
- 實現的 Wayland 協定:
- color-management-v1(用於支援 HDR10);
- ext-image-capture-source-v1 和 ext-image-copy-capture-v1(用於擷取螢幕內容);
- ext-data-control-v1(用於剪貼簿管理);
- xdg-toplevel-icon-v1(用於附加您自己的圖示);
- xdg-dialog-v1(用於建立進階對話框);
- xdg-system-bell-v1(用於訊號輸出);
- ext-idle-notify-v1(用於活動追蹤);
- 演示時間(用於自適應改變顯示器刷新率);
- wlr-layer-shell-v1.5(用於設定螢幕上專屬區域的邊界)。
- 後端和渲染引擎現在支援使用 DRM(直接渲染管理器)同步物件進行明確緩衝區同步。
- 增加了 USB GUD 轉接器等顯示裝置的多 GPU 支援。
- 後端的直接掃描輸出實作現在支援緩衝區裁剪和縮放。
- 場景圖操作已經最佳化。
- 實現的 Wayland 協定:

來源: opennet.ru
