Po trzech miesiącach prac zaprezentowano wydanie wieloplatformowego zestawu narzędzi do tworzenia graficznego interfejsu użytkownika - GTK 4.2.0. GTK 4 jest opracowywane w ramach nowego procesu rozwojowego, który ma na celu zapewnienie twórcom aplikacji stabilnego i wspieranego API na kilka lat, z którego można korzystać bez obawy konieczności przepisywania aplikacji co sześć miesięcy ze względu na zmiany API w następnym GTK oddział.
Nowa wersja głównie naprawia błędy i wprowadza ulepszenia do API w oparciu o opinie programistów, którzy przeportowali swoje programy do GTK4. Niektóre z najbardziej znaczących ulepszeń w GTK 4.2 obejmują:
- Dodano renderer NGL, nowy silnik renderujący OpenGL, który jest domyślnie włączony w systemach Linux, Windows i macOS. Moduł renderujący NGL zapewnia wyższą wydajność przy jednoczesnym zmniejszeniu obciążenia procesora. Aby powrócić do starego silnika renderującego należy uruchomić aplikację ze zmienną środowiskową GSK_RENDERER=gl.
- Przerobiono przetwarzanie sekwencji tworzenia i cichych klawiszy, które zmieniają wygląd kolejnego wprowadzonego znaku.
- Zaimplementowano możliwość wykorzystania GTK w formie podprojektu w systemie montażowym Meson, co pozwala na zbudowanie GTK wraz ze wszystkimi jego zależnościami w ramach środowiska montażowego własnej aplikacji, a także pozyskanie wszystkich artefaktów montażowych do dostawy wraz z Twoją aplikacją za pomocą wybranych narzędzi.
- Ulepszona obsługa kompilacji GTK dla Windows i macOS przy użyciu narzędzi natywnych dla tych platform.
- Przerobiono dokumentację API, której generowanie wykorzystuje nowy generator gi-docgen, który zapewnia wygodniejszą prezentację informacji, w tym przyciski do dodawania przykładów kodu do schowka, wizualną reprezentację hierarchii przodków i interfejsów każdego klasa, lista odziedziczonych właściwości, sygnałów i metod klasy. Interfejs obsługuje wyszukiwanie po stronie klienta i automatycznie dostosowuje się do różnych rozmiarów ekranu. Uruchomiono nową witrynę z dokumentacją, docs.gtk.org, która oferuje także towarzyszące samouczki dotyczące introspekcji GObject, Pango i GdkPixbuf.
- Zoptymalizowano wydajność różnych komponentów, od shaderów GLSL zaangażowanych w renderowanie po obiekty dla osób niepełnosprawnych.
- Zaimplementowano pozycjonowanie tekstu subpikselowego podczas korzystania z nowych wersji biblioteki Cairo.
- Dostępny jest adaptacyjny układ interfejsu do wybierania emoji.
- Ulepszona obsługa rozszerzenia protokołu Wayland do kontroli wejścia.
- Poprawiono wydajność przewijania w widgecie widoku tekstu.
- Poprawione renderowanie cieni w widżetach popover.
Źródło: opennet.ru