JetBrains добавя поддръжка на Wayland към IntelliJ

Поддръжка на Wayland

Поддръжката на Wayland идва за един от продуктите на jetbrains

Преди няколко дни, JetBrains представен чрез публикация в блог, която прави съответните промени за прилагане на поддръжка на протокол Wayland върху своята платформа "IntelliJ" и интегрирани среди за разработка, изградени на нейна база.

JetBrains споменава във вашата публикация че „тази актуализация ще донесе редица предимства“ А сред промените, с които добавянето на поддръжка на Wayland към IntelliJ може да се похвали, е решението за частично мащабиране, подобренията на интеграцията с WSLg, между другото.

Докато поддръжката на Wayland далеч не е завършена, съществуващите функции ни позволяват да изпълняваме някои Java Swing и AWT приложения на Wayland. В тази публикация в блога ще се задълбочим в тези постижения и ще проучим някои от техническите предизвикателства, породени от този нов подход към сървъра за показване.

В допълнение към това се отбелязва, че Поддръжката на Wayland ще донесе серия от промени в развитието, които ще бъдат от значение за всички разработчици на Java графични приложения, тъй като се споменава, че те ще покриват добавянето на поддръжка на Wayland към OpenJDK.

Споменава се, че след като бъдат включени подготвените промени В бъдеща версия на OpenJDK, Java програмите ще могат да работят директно в базирани на Wayland среди без да използвате слоя XWayland. Вече е достъпен за тестване JetBrainsRuntime 21, разклонение на OpenJDK 21 с интегрирана поддръжка на Wayland, използвано в продуктите на JetBrains.

Да направите Java Wayland естествена е по-лесно да се каже, отколкото да се направи. От гледна точка на JDK, това е еквивалентно на създаването на нов набор от инструменти, който е родното място на почти всичко, свързано с GUI. Това включва графики, работа с показалеца на мишката, превод на натиснат клавиш, начален екран и предоставяне на методи за въвеждане; всичко това трябва да се реализира от нулата. Например, инструментариумът X11 има около 50.000 20.000 реда Java и XNUMX XNUMX реда собствен код, от които само част може да се използва повторно в Wayland.

От гледна точка на много високо ниво, задачата е доста проста: един API, Wayland, трябва да бъде преведен в друг, Java, и обратно.

Сред предимствата на пълната поддръжка за Wayland в IntelliJ IDE са: решаване на дългогодишни проблеми с XWayland, свързани с размазан текст, когато е активирано частично мащабиране, премахване на проблемите със сигурността, присъщи на X11 (например достъпът до всички входни събития и позволява замяна на фиктивни натискания на клавиши), пълна интеграция с WSL (Windows Subsystem for Linux) среда с помощта на Wayland, възможност за постигане на по-висока производителност на изобразяване и отзивчивост на интерфейса на потребителя.

Проектът Wakefield работи за добавяне на поддръжка на Wayland към OpenJDK съвместно с инженерите на Oracle и под егидата на общността OpenJDK. На настоящия етап на разработка разработеният набор от инструменти поддържа софтуерно изобразяване, минимално декориране на прозорци, преоразмеряване, отваряне, минимизиране и преместване на прозорци, отваряне на цял екран, изскачащи прозорци (използвани в менютата), отделни нива на увеличение за всеки монитор, работа по HiDPI екрани, навигация чрез мишка и въвеждане от клавиатурата.

Проектът все още не е напуснал етапа на разработка, но се отбелязва, че внедрената функционалност е достатъчна за стартиране на някои Java приложения, използвайки рамките Swing и AWT (Abstract Window Toolkit) в базираната на Wayland среда.

Производителността на рендиране на съществуващия софтуер при използване на Wayland е сравнима с производителността при стартиране на X11 версията на IntelliJ. От приоритетните задачи, които се планира да бъдат изпълнени през следващите месеци, са посочени следните: хардуерно ускорено рендиране с поддръжка на графичния API на Vulkan; поддръжка на методи за въвеждане, клипборд и манипулации с плъзгане и пускане; възможност за показване на скрийнсейвър; означава да навигирате между прозорците с помощта на клавишни комбинации.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.