Після півроку розробки, запуск нова версія кросплатформного інструментарію для створення графічного інтерфейсу користувача, "GTK 4.10.0".
Нова гілка GTK 4 розробляється за новим процесом розвитку які ви намагаєтесь надати розробникам програм стабільний і сумісний API протягом кількох років, який можна використовувати, не побоюючись, що програми потрібно буде переробляти кожні шість місяців через зміни API у наступному GTK.
Основні нові функції GTK 4.10
У цій новій версії GTK 4.10, яка представлена, підкреслюється, що пДодано нові класи GtkColorDialog, GtkFontDialog, GtkFileDialog і GtkAlertDialog з реалізацією діалогів вибору кольорів, шрифтів і файлів, показом сповіщень. нові параметри відрізняється переходом на більш узгоджений API і збалансований, що працює в асинхронному режимі (GIO async). Нові діалогові вікна використовують портали Freedesktop (xdg-desktop-portal), де це можливо та доступно, які використовуються для надання доступу до ресурсів середовища користувача з програм ізольованого програмного середовища.
Ще одна новинка, яка вирізняється з нової версії, - це додано новий сервер CPDB (Common Printing Dialog Backend), який надає загальні драйвери для використання в діалогах друку. Підтримку серверної частини друку lpr, яка використовувалася раніше, припинено.
у віджеті GtkFileChooserWidget cЗ реалізацією відкритого діалогу для вибору файлів у програмах, реалізовано режим представлення вмісту каталогів у вигляді мережі значків. За замовчуванням все ще використовується класичний список файлів, а праворуч на панелі з’явилася окрема кнопка для переходу в режим значків.
Бібліотека GDK, який забезпечує рівень між GTK і графічною підсистемою, пропонує структуру GdkTextureDownloader, яка використовується для завантаження текстур у клас GdkTexture і може використовуватися для перетворення різних форматів, масштабування текстур за допомогою OpenGL було покращено.
Крім того, бібліотека ГСК (GTK Scene Kit), який надає можливість відтворювати графічні сцени через OpenGL і Vulkan, підтримує вузли зі скінами та настроювану фільтрацію масштабованих текстур.
Також підкреслюється, що реалізована підтримка нових версій розширень протоколу Wayland, оскільки було покращено вихід у сповіщеннях про запуск під час використання протоколу «xdg-activation» і що проблеми з розміром курсору на екранах із високою щільністю пікселів були вирішені.
З інших змін що виділяються з нової версії:
- Клас GtkMountOperation був адаптований для роботи в середовищах, відмінних від X11.
- Додано підтримку модальних вікон у серверній частині Broadway, що дозволяє малювати вихідні дані бібліотеки GTK у вікні веб-браузера
- Клас GtkFileLauncher пропонує новий асинхронний API замість gtk_show_uri
- Покращена обробка шаблонів у gtk-builder-tool.
- У віджет GtkSearchEntry додано підтримку відображення фіктивного тексту, коли поле порожнє та немає фокусу введення.
- Клас GtkUriLauncher було додано, щоб замінити функцію gtk_show_uri, яка використовується для визначення того, яку програму запускати для відображення даного URI або видавати помилку, якщо контролер відсутній.
- У клас GtkStringSorter додано підтримку кількох методів «зіставлення», які дозволяють зіставляти та сортувати на основі значення символів (наприклад, якщо є знак наголосу).
- Значна частина API та віджетів застаріла, які було вирішено не підтримувати в майбутній гілці GTK5 і замінені на аналоги, що працюють в асинхронному режимі.
- Перенесено на загальнодоступний зовнішній інтерфейс GtkAccessible, який дозволяє підключати зовнішні контролери сторонніх виробників для людей з обмеженими можливостями. Додано інтерфейс GtkAccessibleRange.
- У macOS надається підтримка перетягування (DND).
- У Windows покращено інтеграцію з налаштуваннями системи.
- Уніфікований вихідний формат налагодження.
- Обмеження пам’яті для завантажувача зображень JPEG збільшено до 1 ГБ.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.
Для тих, хто цікавиться, є форк GTK3 під назвою CTK, який має на меті зберегти всі ті функції, які потрібні класичному настільному комп’ютеру і які були буквально завантажені з GTK4.
Використовується в робочому столі CAFE (вилка MATE).
https://github.com/cafe-desktop