Etter åtte måneders utvikling har utgivelsen av et multiplattformverktøy for å lage et grafisk brukergrensesnitt blitt publisert - GTK 4.8.0. GTK 4 utvikles som en del av en ny utviklingsprosess som forsøker å gi applikasjonsutviklere en stabil og støttet API i flere år som kan brukes uten frykt for å måtte omskrive applikasjoner hver sjette måned på grunn av API-endringer i neste GTK gren.
Blant de mest bemerkelsesverdige forbedringene i GTK 4.8 er:
- Grensesnittstilen for fargevalg er endret (GtkColorChooser).
- Skriftvalggrensesnittet (GtkFontChooser) har forbedret støtte for OpenType-formatfunksjoner.
- CSS-motoren har optimert omgrupperingen av elementer knyttet til samme overordnede, og tillater bruk av ikke-heltallsverdier når størrelsen på avstanden mellom bokstaver skal bestemmes.
- Emoji-data er oppdatert til CLDR 40 (Unicode 14). Lagt til støtte for nye lokaliteter.
- Temaet har oppdatert ikoner og forbedret lesbarheten til uthevede tekstetiketter.
- GDK-biblioteket, som gir et lag mellom GTK og grafikkundersystemet, har optimert konverteringen av pikselformater. På systemer med NVIDIA-drivere er EGL-utvidelsen EGL_KHR_swap_buffers_with_damage aktivert.
- GSK-biblioteket (GTK Scene Kit), som gir muligheten til å gjengi grafiske scener via OpenGL og Vulkan, støtter behandling av store synlige områder (viewports). Biblioteker for gjengivelse av glyfer ved hjelp av teksturer er foreslått.
- Wayland støtter "xdg-activation"-protokollen, som lar deg overføre fokus mellom forskjellige førstenivåoverflater (for eksempel, ved å bruke xdg-aktivering, kan en applikasjon bytte fokus til en annen).
- GtkTextView-widgeten reduserer antall situasjoner som fører til gjentatte omtegninger, og implementerer GetCharacterExtents-funksjonen for å bestemme området med glyfen som definerer tegnet i teksten (en funksjon som er populær i verktøy for funksjonshemmede).
- GtkViewport-klassen, som brukes til å organisere rulling i widgets, har "scroll-to-focus"-modusen aktivert som standard, der innholdet rulles automatisk for å opprettholde elementet som har inputfokus i visningen.
- GtkSearchEntry-widgeten, som viser området for å legge inn et søk, gir muligheten til å konfigurere forsinkelsen mellom siste tastetrykk og sending av et signal om innholdsendringen (GtkSearchEntry::search-changed).
- GtkCheckButton-widgeten har nå muligheten til å tilordne sin egen underordnede widget med en knapp.
- Lagt til "content-fit"-egenskapen til GtkPicture-widgeten for å tilpasse innholdet til en gitt områdestørrelse.
- Rulleytelsen er optimalisert i GtkColumnView-widgeten.
- GtkTreeStore-widgeten tillater utvinning av tredata fra filer i ui-format.
- En ny widget for å vise lister er lagt til GtkInscription-klassen, som er ansvarlig for å vise tekst i et spesifikt område. Lagt til en demoapplikasjon med et eksempel på bruk av GtkInscription.
- Lagt til rullestøtte til GtkTreePopover-widgeten.
- GtkLabel-widgeten har lagt til støtte for faner og muligheten til å aktivere etiketter ved å klikke på symbolene knyttet til etiketten på tastaturet.
- GtkListView-widgeten støtter nå egenskapene "::n-items" og "::item-type".
- Inndatasystemet gir støtte for rulling av dimensjonsparameterbehandlere (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE).
- For macOS-plattformen er støtte for fullskjermmodus og videoavspilling ved bruk av OpenGL lagt til. Forbedret skjermdeteksjon, arbeid i flerskjermskonfigurasjoner, vindusplassering og størrelsesvalg for fildialogen. CALayer og IOSurface brukes til gjengivelse. Applikasjoner kan startes i bakgrunnen.
- På Windows-plattformen er vindusplassering på HiDPI-skjermer blitt forbedret, et fargegjenkjenningsgrensesnitt er lagt til, støtte for høyoppløselige musehjulhendelser er implementert, og støtte for pekeplate er forbedret.
- En skjermbildekommando er lagt til gtk4-builder-tool-verktøyet for å lage et skjermbilde, som brukes når du genererer skjermbilder for dokumentasjon.
- Installasjon av gtk4-node-editor-verktøyet er gitt.
- Feilsøkingsfunksjonene er utvidet. Implementert visning av tilleggsapplikasjonsdata og tillatt visning av PangoAttrList-egenskaper under inspeksjon. Inspeksjoner av inspektører er tillatt. Lagt til støtte for modusen "GTK_DEBUG=invert-tekst-dir". I stedet for miljøvariabelen GTK_USE_PORTAL, foreslås modusen "GDK_DEBUG=portaler". Forbedret respons på inspeksjonsgrensesnittet.
- Lydstøtte er lagt til ffmpeg-backend.
- Minnegrensen i JPEG-bildelasteren er økt til 300 MB.
Kilde: opennet.ru