幾天前, JetBrains 揭幕 通過一篇博客文章進行相關更改以實施 支持 Wayland 協議 其“IntelliJ”平台以及在此基礎上構建的集成開發環境。
JetBrains公司 提及 在您的出版物中 “本次更新將帶來一系列好處” 向 IntelliJ 添加 Wayland 支持帶來的變化包括分數擴展解決方案、與 WSLg 的集成改進等。
雖然 Wayland 支持還遠未完成,但現有功能允許我們在 Wayland 上運行一些 Java Swing 和 AWT 應用程序。 在這篇博文中,我們將深入研究這些進步,並探討這種新穎的顯示服務器方法所帶來的一些技術挑戰。
除此之外,值得注意的是 Wayland的支持將帶來一系列的發展變化,這將與所有 Java 圖形應用程序開發人員相關,因為其中提到這些將涵蓋對 OpenJDK 增加 Wayland 支持。
有人提到 一旦包含了準備好的更改 在 OpenJDK 的未來版本中, Java程序將能夠直接在基於Wayland的環境中運行 不使用 XWayland 層。 現在可供測試的是 JetBrainsRuntime 21,它是 OpenJDK 21 的一個分支,集成了 JetBrains 產品中使用的 Wayland 支持。
使 Java Wayland 原生化說起來容易做起來難。 用 JDK 術語來說,這相當於創建一個新的 Toolkit,它幾乎是所有與 GUI 相關的東西的誕生地。 這包括圖形、鼠標指針處理、擊鍵翻譯、啟動屏幕顯示以及輸入方法的提供; 所有這一切都必須從頭開始實施。 例如,X11 工具包大約有 50.000 行 Java 和 20.000 行本機代碼,其中只有一小部分可以在 Wayland 中重用。
從非常高層次的角度來看,任務非常簡單:一個 API(Wayland)必須轉換為另一個 API(Java),反之亦然。
IntelliJ IDE 中全面支持 Wayland 的優勢包括:解決 XWayland 長期存在的與啟用分數縮放時文本模糊相關的問題、擺脫 X11 固有的安全問題(例如,訪問所有輸入事件並允許替換虛擬擊鍵),使用Wayland 與WSL(Linux 的Windows 子系統)環境完全集成,能夠實現更高的渲染性能和用戶界面響應能力。
該項目 Wakefield 正在與 Oracle 工程師合作,為 OpenJDK 添加 Wayland 支持 並在 OpenJDK 社區的支持下。 在當前的開發階段,開發的工具集支持軟件渲染、最小化窗口裝飾、調整大小、打開、最小化和移動窗口、全屏打開、彈出窗口(在菜單中使用)、每個顯示器的縮放級別分開、工作HiDPI 屏幕,通過鼠標和鍵盤輸入進行導航。
該項目尚未離開開發階段,但值得注意的是,所實現的功能足以在基於 Wayland 的環境中使用 Swing 和 AWT(Abstract Window Toolkit)框架運行一些 Java 應用程序。
現有軟件使用 Wayland 時的渲染性能與運行 X11 版本 IntelliJ 時的性能相當。 計劃在未來幾個月內實施的優先任務如下: 支持 Vulkan 圖形 API 的硬件加速渲染; 支持輸入法、剪貼板和拖放操作; 顯示屏幕保護程序的能力; 意味著使用鍵盤快捷鍵在窗口之間導航。
終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。