Компания JetBrains объявила о работе по реализации поддержки протокола Wayland в открытой платформе IntelliJ и построенных на её основе интегрированных средах разработки. Развиваемые изменения имеют значение для всех разработчиков графических приложений на языке Java, так как охватывают и добавление поддержки Wayland в OpenJDK. После включения подготовленных изменений в один из будущих релизов OpenJDK, Java-программы смогут напрямую запускаться в окружениях на основе Wayland без задействования прослойки XWayland. Для тестирования уже доступен JetBrainsRuntime 21, форк OpenJDK 21 со встроенной поддержкой Wayland, используемый в продуктах JetBrains.
Работа по добавлению в OpenJDK поддержки Wayland ведётся в рамках проекта Wakefield совместно с инженерами из компании Oracle и под эгидой сообщества OpenJDK. На текущем этапе развития развиваемый инструментарий поддерживает программную отрисовку, минимальное декорирование окон, изменение размера, раскрытие, сворачивание и перемещение окон, раскрытие на весь экран, всплывающие окна (используются в меню), раздельные уровни масштабирования для каждого монитора, работу на экранах HiDPI, навигацию при помощи мыши и клавиатурный ввод.
Проект пока не вышел из стадии разработки, но отмечается, что реализованной функциональности достаточно для выполнения в окружении на базе Wayland некоторых Java-приложений, использующих фреймворки Swing и AWT (Abstract Window Toolkit). Производительность имеющейся программной отрисовки при использовании Wayland сопоставима с производительностью при запуске X11-версии IntelliJ. Из приоритетных задач, которые планируют реализовать в следующие несколько месяцев, названы: аппаратно ускоренная отрисовка с поддержкой графического API Vulkan; поддержка методов ввода, буфера обмена и манипуляций в режиме drag&drop; возможность вывода экранной заставки; средства для навигации между окнами с использованием клавиатурных комбинаций.
Среди достоинств полноценной поддержки Wayland в IDE IntelliJ упоминается: решение давних проблем с XWayland, связанных с размытием текста при включении дробного масштабирования; избавление от проблем с безопасностью, свойственных X11 (например, протокол X11 предоставляет доступ ко всем событиям ввода и позволяет осуществить подстановку фиктивных нажатий клавиш); полноценная интеграция с окружением WSL (Windows Subsystem for Linux), использующим Wayland; возможность добиться более высокой производительности отрисовки и отзывчивости интерфейса.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности