Nakon osam mjeseci razvoja, objavljeno je izdanje višeplatformskog alata za izradu grafičkog korisničkog sučelja - GTK 4.8.0. GTK 4 se razvija kao dio novog razvojnog procesa koji razvijačima aplikacija pokušava pružiti stabilan i podržan API nekoliko godina koji se može koristiti bez straha od ponovnog pisanja aplikacija svakih šest mjeseci zbog promjena API-ja u sljedećem GTK-u podružnica.
Neka od najznačajnijih poboljšanja u GTK 4.8 uključuju:
- Promijenjen je stil sučelja za odabir boja (GtkColorChooser).
- Sučelje za odabir fonta (GtkFontChooser) ima poboljšanu podršku za mogućnosti OpenType formata.
- CSS mehanizam optimizirao je ponovno grupiranje elemenata povezanih s istim roditeljem i dopušta korištenje necijelobrojnih vrijednosti prilikom određivanja veličine razmaka između slova.
- Emoji podaci ažurirani su na CLDR 40 (Unicode 14). Dodana podrška za nove jezike.
- Tema je ažurirala ikone i poboljšala čitljivost označenih tekstualnih oznaka.
- Knjižnica GDK, koja pruža sloj između GTK-a i grafičkog podsustava, optimizirala je konverziju formata piksela. Na sustavima s NVIDIA upravljačkim programima omogućena je EGL ekstenzija EGL_KHR_swap_buffers_with_damage.
- GSK biblioteka (GTK Scene Kit), koja pruža mogućnost renderiranja grafičkih scena putem OpenGL-a i Vulkana, podržava obradu velikih vidljivih područja (viewports). Predložene su biblioteke za renderiranje glifova pomoću tekstura.
- Wayland podržava protokol "xdg-activation", koji vam omogućuje prijenos fokusa između različitih površina prve razine (na primjer, pomoću xdg-activation, jedna aplikacija može prebaciti fokus na drugu).
- Widget GtkTextView smanjuje broj situacija koje dovode do ponovnog iscrtavanja i implementira funkciju GetCharacterExtents za određivanje područja s glifom koji definira znak u tekstu (funkcija koja je popularna u alatima za osobe s invaliditetom).
- Klasa GtkViewport, koja se koristi za organiziranje pomicanja u widgetima, ima prema zadanim postavkama omogućen način rada "scroll-to-focus", u kojem se sadržaj automatski pomiče kako bi se zadržao element koji ima fokus unosa u prikazu.
- Widget GtkSearchEntry, koji prikazuje područje za unos upita za pretraživanje, pruža mogućnost konfiguriranja odgode između zadnjeg pritiska tipke i slanja signala o promjeni sadržaja (GtkSearchEntry::search-changed).
- Widget GtkCheckButton sada ima mogućnost dodjeljivanja vlastitog podređenog widgeta pomoću gumba.
- Dodano je svojstvo "prilagođavanje sadržaja" widgetu GtkPicture za prilagodbu sadržaja zadanoj veličini područja.
- Performanse pomicanja optimizirane su u widgetu GtkColumnView.
- Widget GtkTreeStore omogućuje ekstrakciju podataka stabla iz datoteka u ui formatu.
- U klasu GtkInscription, koja je odgovorna za prikaz teksta u određenom području, dodan je novi widget za prikaz popisa. Dodana demo aplikacija s primjerom korištenja GtkInscription.
- Dodana je podrška za pomicanje u widget GtkTreePopover.
- Widget GtkLabel dodao je podršku za kartice i mogućnost aktiviranja oznaka klikom na simbole povezane s oznakom na tipkovnici.
- Widget GtkListView sada podržava svojstva "::n-items" i "::item-type".
- Sustav unosa pruža podršku za rukovatelje parametrima dimenzija pomicanja (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE).
- Za macOS platformu dodana je podrška za način rada preko cijelog zaslona i reprodukciju videa pomoću OpenGL-a. Poboljšano otkrivanje monitora, rad u konfiguracijama s više monitora, postavljanje prozora i odabir veličine za dijaloški okvir datoteke. Za renderiranje se koriste CALayer i IOSurface. Aplikacije se mogu pokretati u pozadini.
- Na Windows platformi poboljšan je položaj prozora na HiDPI zaslonima, dodano je sučelje za detekciju boja, implementirana je podrška za događaje kotačića miša visoke rezolucije i poboljšana je podrška za touchpad.
- Naredba za snimanje zaslona dodana je uslužnom programu gtk4-builder-tool za izradu snimke zaslona, koja se koristi prilikom generiranja snimaka zaslona za dokumentaciju.
- Omogućena je instalacija uslužnog programa gtk4-node-editor.
- Proširene su mogućnosti programa za ispravljanje pogrešaka. Implementiran prikaz dodatnih podataka aplikacije i omogućen pregled svojstava PangoAttrList tijekom pregleda. Inspekcijski pregledi su dopušteni. Dodana podrška za način "GTK_DEBUG=invert-text-dir". Umjesto varijable okruženja GTK_USE_PORTAL, predlaže se način rada “GDK_DEBUG=portals”. Poboljšan odziv sučelja za inspekciju.
- Podrška za zvuk dodana je u ffmpeg backend.
- Ograničenje memorije u programu za preuzimanje JPEG slika povećano je na 300 MB.
Izvor: opennet.ru