Po osmi měsících vývoje bylo zveřejněno vydání multiplatformního toolkitu pro tvorbu grafického uživatelského rozhraní – GTK 4.8.0. GTK 4 je vyvíjen v rámci nového vývojového procesu, který se pokouší poskytnout vývojářům aplikací stabilní a podporované API na několik let, které lze používat bez obav, že aplikace budou muset být každých šest měsíců přepracovány kvůli změnám API v příštím GTK. větev.
Mezi nejpozoruhodnější vylepšení v GTK 4.8 patří:
- Změněn styl rozhraní pro výběr barvy (GtkColorChooser).
- Vylepšená podpora funkcí formátu OpenType v rozhraní pro výběr písem (GtkFontChooser).
- Modul CSS optimalizoval přeskupení prvků spojených se stejným rodičem a umožnil použití neceločíselných hodnot při určování velikosti mezer mezi písmeny.
- Data emodži byla aktualizována na sadu CLDR 40 (Unicode 14). Přidána podpora pro nová národní prostředí.
- V motivu byly aktualizovány ikony a byla vylepšena čitelnost zvýrazněných textových popisků.
- Knihovna GDK, která poskytuje vrstvu mezi GTK a grafickým subsystémem, optimalizovala převod pixelových formátů. Na systémech s ovladači NVIDIA je povoleno rozšíření EGL EGL_KHR_swap_buffers_with_damage.
- Knihovna GSK (GTK Scene Kit), která poskytuje možnost vykreslovat grafické scény prostřednictvím OpenGL a Vulkan, podporuje zpracování velkých viditelných oblastí (výřezů). Jsou navrženy knihovny pro kreslení glyfů pomocí textur.
- Pro Wayland je implementována podpora protokolu „xdg-activation“, který umožňuje přenášet fokus mezi různými povrchy první úrovně (např. pomocí xdg-aktivace může jedna aplikace přepínat fokus na druhou).
- Widget GtkTextView snížil počet situací, které vedou k opakovanému překreslování, a implementoval funkci GetCharacterExtents pro určení oblasti pomocí glyfu, který definuje znak v textu (funkce požadovaná nástroji pro osoby s postižením).
- Třída GtkViewport, která se používá k organizaci posouvání ve widgetech, má ve výchozím nastavení povolený režim „scroll-to-focus“, ve kterém se obsah automaticky posouvá, aby se zachoval pohled na prvek, který má vstupní fokus.
- Widget GtkSearchEntry, který zobrazuje oblast pro zadání vyhledávacího dotazu, poskytuje možnost nakonfigurovat prodlevu mezi posledním stisknutím klávesy a odesláním signálu změny obsahu (GtkSearchEntry::search-changed).
- Widget GtkCheckButton má schopnost přiřadit vlastní podřízený widget s tlačítkem.
- Do widgetu GtkPicture byla přidána vlastnost „content-fit“, která přizpůsobuje obsah dané velikosti oblasti.
- Výkon posouvání byl optimalizován ve widgetu GtkColumnView.
- Widget GtkTreeStore umožňuje extrahování stromových dat ze souborů uživatelského rozhraní.
- Do třídy GtkInscription zodpovědné za zobrazování textu v konkrétní oblasti byl přidán nový widget pro zobrazování seznamů. Přidána ukázková aplikace s příkladem použití GtkInscription.
- Přidána podpora pro rolování ve widgetu GtkTreePopover.
- Do widgetu GtkLabel byla přidána podpora karet a je poskytována možnost aktivovat štítky stisknutím symbolů připojených k štítku na klávesnici.
- Widget GtkListView podporuje vlastnosti "::n-items" a "::item-type".
- Vstupní systém poskytuje podporu obslužných rutin pro parametry rozměrů (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE) rolování.
- Pro platformu macOS byla přidána podpora režimu celé obrazovky a přehrávání videa pomocí OpenGL. Vylepšená detekce monitoru, práce v konfiguracích s více monitory, umístění okna a výběr velikosti pro dialog souboru. K vykreslování se používá CALayer a IOSurface. Povolené aplikace spouštět na pozadí.
- Na platformě Windows bylo vylepšeno umístění oken na obrazovkách HiDPI, přidáno rozhraní pro detekci barev, implementována podpora pro události kolečka myši s vysokým rozlišením a vylepšená podpora touchpadu.
- Do nástroje gtk4-builder-tool byl přidán příkaz screenshot pro vytvoření snímku obrazovky, který se používá při generování snímků obrazovky pro dokumentaci.
- Je zajištěna instalace obslužného programu gtk4-node-editor.
- Rozšířené možnosti debuggeru. Implementováno zobrazení dalších dat aplikace a umožněno prohlížení vlastností PangoAttrList při kontrole. Kontrola inspektory povolena. Přidána podpora pro režim „GTK_DEBUG=invert-text-dir“. Místo proměnné prostředí GTK_USE_PORTAL byl navržen režim "GDK_DEBUG=portals". Vylepšená odezva inspekčního rozhraní.
- Do backendu ffmpeg byla přidána podpora zvuku.
- Limit paměti v nástroji pro nahrávání obrázků JPEG byl zvýšen na 300 MB.
Zdroj: opennet.ru