След пет месеца разработка, представен е релизът на многоплатформения тулкит за създаване на графичен потребителски интерфейс — GTK 4.4.0. GTK 4 се развива в рамките на нов процес на разработка, който се опитва да предостави на разработчиците на приложения стабилен и поддържан в продължение на няколко години API, който може да се използва без страх от необходимостта да се преработват приложенията на всеки шест месеца заради промени в API в следващата версия на GTK.
Сред най-забележителните подобрения в GTK 4.4:
- Продължава усъвършенстването на механизма за рендериране NGL, който използва OpenGL за постигане на по-висока производителност с намалена натовареност на CPU. Новата версия включва оптимизации на рендерирането, свързани с прекратяване на използването на големи междинни текстури. Осигурена е правилната работа на NGL с отворен драйвер за GPU Mali. Поддръжката на стария механизъм за рендериране GL (GSK_RENDERER=gl) ще бъде прекратена в следващата версия на GTK.
- Извършени са почистване и опростяване на кода, свързан с конфигурацията на OpenGL. Осигурена е правилната работа на кода за поддръжка на OpenGL в GTK на системи с нови версии на проприетарни драйвери NVIDIA. За достъп до рендеринг API основно се разглежда интерфейсът EGL (изискванията за версия EGL са повишени до 1.4). На системи с X11, при необходимост, се извършва връщане обратно от EGL на GLX. В Windows по подразбиране се използва WGL.
- Преразпределени и преименувани темите за оформление, включени в основния пакет. Сега вградените теми се наричат Default, Default-dark, Default-hc и Default-hc-dark, а темата Adwaita е преместена в libadwaita. В темите за оформление за подчертаване на съобщенията за грешка е приложена прекъсната линия вместо вълнообразна. Добавена е поддръжка за полупрозрачни селекции на текст.
- Вградената реализация на методите за въвеждане е приближена до поведението на IBus при визуализиране и обработка на последователности за композиране и мъртви клавиши. Добавена е възможността за едновременна употреба на различни мъртви клавиши и комбинации, които не водят до формиране на един символ Unicode (например, «ẅ»). Реализирана е пълна поддръжка на 32-битови стойности за ключови мапове (keysyms), включително стойности с Unicode.
- Emoji данните са актуализирани до набора CLDR 39, което открива възможности за локализация на Emoji за езици и региони.
- По подразбиране е включен интерфейс за инспекция, който улеснява отстраняването на грешки в GTK приложения.
- На платформата Windows за възпроизвеждане на мултимедийно съдържание се използва GL, а за работа с таблети и други устройства за въвеждане — API WinPointer.
Източник: opennet.ru
