GTK-4.24.0

Introduksjon til GTK 4

GTK 4 pakken inneholder biblioteker som brukes til å lage grafiske brukergrensesnitt for applikasjoner.

[Notat]

Notat

Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.

Pakkeinformasjon

GTK 4 Avhengigheter

Påkrevd

gdk-pixbuf-2.44.8, graphene-1.10.8, ISO Codes-4.20.1, libepoxy-1.5.10, librsvg-2.63.0, libxkbcommon-1.13.2, Pango-1.58.2, PyGObject-3.58.0, og wayland-protocols-1.49

Anbefalt

Anbefalt (Påkrevd hvis GNOME bygges)

Valgfri

Avahi-0.9-rc5 (for noen tester), colord-1.4.8, Cups-2.4.19, docutils-0.23, Evince-48.4 (kjøretid for forhåndsvisning av utskrift), Gi-DocGen-2026.1, Highlight-4.21 (kjøretid, bare brukt av gtk4-demo for syntaks utheving av demo kildekoden), libcloudproviders-0.3.6, sassc-3.6.2, tinysparql-3.11.1, accesskit-c, cpdb, pydbus (for noen tester), og sysprof

Kjernekonfigurasjon

Noen GTK-4 funksjoner trenger følgende alternativer i kjernekonfigurasjonen. Det er også nødvendig for testpakken.

Device Drivers --->
  DMABUF options --->
    [*] userspace dmabuf misc driver                                   [UDMABUF]

Installasjon av GTK 4

Installer GTK 4 ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D broadway-backend=true \
            -D introspection=enabled \
            -D vulkan=enabled        \
            .. &&
ninja

Hvis du har Gi-DocGen-2026.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, kjør:

sed "s@'doc'@& / 'gtk-4.24.0'@" -i ../docs/reference/meson.build &&
meson configure -D documentation=true                            &&
ninja

BLFS redaktørene anbefaler ikke å kjøre testene. Resultatene er svært avhengig av installerte drivere og maskinvare sammenlignet med hva oppstrøms utviklere har. Av over 9000 tester antallet for feil kan variere fra 50 til over 5000. For å teste funksjonen til pakken, anbefales gtk4-demo programmet i stedet.

For å kjøre testene uansett, utsted:

env -u{GALLIUM_DRIVER,MESA_LOADER_DRIVER_OVERRIDE}          \
    LIBGL_ALWAYS_SOFTWARE=1 VK_LOADER_DRIVERS_SELECT='lvp*' \
    dbus-run-session meson test --setup x11                 \
                                --no-suite=headless

Hvis du er i en Wayland økt, bytt ut den ene forekomsten av x11 med wayland. Mange tester vil mislykkes hvis ~/.config/gtk-4.0/settings.ini eksisterer og gtk-modules linjen er ikke kommentert. På systemer med NVIDIA grafikkort kan testene ta betydelig lengre tid.

Nå, som root bruker:

ninja install

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D broadway-backend=true: Denne bryteren aktiverer HTML5 GDK bakstykket.

-D introspection=enabled: Denne bryteren aktiverer å bruke GObject Introspection til å generere GIR bindinger av disse pakkene. Disse bindingene kreves av GNOME.

-D cloudproviders=enabled: Bruk denne bryteren hvis du har libcloudproviders-0.3.6 installert og ønsker å aktivere støtte for skyleverandører i et filvelgervindu.

-D tracker=enabled: Bruk denne bryteren hvis du har tinysparql-3.11.1 installert og ønsker å bruke søkefunksjonalitet når du kjører en filvelger.

-D colord=enabled: Bruk denne bryteren hvis du har colord-1.4.8 installert og ønsker å bruke colord med CUPS utskrifts bakstykket.

-D man-pages=true: Bruk denne bryteren hvis du har docutils-0.23 installert og ønsker å generere manualsider.

-D sysprof=enabled: Bruk denne bryteren hvis du har sysprof installert og ønsker å aktivere sporingsstøtte for GTK4 baserte applikasjoner.

-D vulkan=disabled: Bruk denne bryteren i stedet for -D vulkan=enabled hvis du ikke har Vulkan-Loader-1.4.357.0 or glslc from shaderc-2026.4 installert. Det vil deaktivere Vulkan backend som oppstrøms foretrekker å bruke på Wayland baserte grafiske miljøer.

LIBGL_ALWAYS_SOFTWARE=1 og VK_LOADER_DRIVERS_SELECT='lvp*': Tving testpakken å bruke softpipe eller llvmpipe Gallium driver og lavapipe Vulkan driver fra Mesa. Testpakken er så følsom at mindre forskjeller forårsaket av en annen Mesa driver kan utløse testfeil.

env -u{GALLIUM_DRIVER,MESA_LOADER_DRIVER_OVERRIDE}: Deaktiver variabler som kan komme i konflikt med LIBGL_ALWAYS_SOFTWARE=1.

--no-suite=headless: Deaktiver testene som krever den eksterne avhengigheten pydbus.

Konfigurere GTK 4

Konfigurasjonsfiler

~/.config/gtk-4.0/settings.ini og /usr/share/gtk-4.0/settings.ini

Konfigurasjonsinformasjon

GTK 4 temaer endrer måten en GTK 4 applikasjonen ser ut. Et ikontema kan brukes til å endre ikonene som vises på programmets verktøylinje. Hvis du har installert et GTK 4 tema (f.eks. Adwaita temaet bygd i GTK 4), et ikontema (som f.eks oxygen-icons-6.29.0) og/eller en font (Dejavu fonts), kan du angi dine preferanser i ~/.config/gtk-4.0/settings.ini, eller standard systemomfattende konfigurasjonsfil (som root bruker), i /usr/share/gtk-4.0/settings.ini. For en lokal bruker, et eksempel er:

mkdir -pv ~/.config/gtk-4.0
cat > ~/.config/gtk-4.0/settings.ini << "EOF"
[Settings]
gtk-theme-name = Adwaita
gtk-icon-theme-name = oxygen
gtk-font-name = DejaVu Sans 12
gtk-cursor-theme-size = 18
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = hintslight
gtk-xft-rgba = rgb
gtk-cursor-theme-name = Adwaita
EOF

Det finnes mange innstillingsnøkler, noen med standardverdier. Du kan finne dem på Settings: GTK 4 Reference Manual.

Innhold

Installerte Programmer: gtk4-broadwayd, gtk4-builder-tool, gtk4-demo, gtk4-demo-application, gtk4-encode-symbolic-svg, gtk4-image-tool, gtk4-launch, gtk4-node-editor, gtk4-path-editor, gtk4-print-editor, gtk4-query-settings, gtk4-rendernode-tool, gtk4-update-icon-cache, og gtk4-widget-factory
Installerte Biblioteker: libgtk-4.so
Installerte Mapper: /usr/include/gtk-4.0, /usr/lib/gtk-4.0, og /usr/share/gtk-4.0

Korte Beskrivelser

gtk4-broadwayd

gir støtte for visning av GTK 4 applikasjoner i en nettleser som bruker HTML5 og web-sockets

gtk4-builder-tool

utfører ulike operasjoner på GtkBuilder .ui filer

gtk4-demo

er et enkelt program som viser noen av oppgavene som kan bli utført med GTK 4

gtk4-demo-application

er en enkel GTK 4 applikasjon som er nyttig for testing

gtk4-encode-symbolic-svg

konverterer symbolske SVG ikoner til spesielle PNG filer. GTK 4 kan laste og farge disse PNGene på nytt, akkurat som originale SVGer, men laster dem mye raskere

gtk4-image-tool

utfører ulike operasjoner på bilder, inkludert sammenligninger, konverteringer, listeinformasjon på bildene, ommerking av bilder, og viser bildene

gtk4-launch

starter en applikasjon med det gitte navnet. Navnet skal samsvare applikasjonens .desktop filnavn (som vist i /usr/share/applications), med eller uten '.desktop' forlengelsen

gtk4-node-editor

er et verktøy for å vise og redigere gjengivelsesnodefiler. Slike gjengivelsesnodefiler kan hentes f.eks. fra GTK inspektøren

gtk4-path-tool

utfører ulike oppgaver på stier, inkludert dekomponeringer, reverseringer, restriksjoner, gjengivelse, visning av banen og listeinformasjon om stiene

gtk4-print-editor

er et enkelt program for å demonstrere utskrift med GTK 4 applikasjoner

gtk4-query-settings

gir en fullstendig liste over alle innstillinger relatert til GTK 4

gtk4-rendernode-tool

utfører ulike oppgaver på GTK-gjengivelsesnoder, inkludert benchmarks, sammenligninger, trekke ut data-URLer, vise informasjon om nodene, vise nodene og ta skjermbilder av nodene

gtk4-update-icon-cache

er et hurtigbufferverktøy for ikontema som lager mmap()able hurtigbufferfiler for ikontemaer

gtk4-widget-factory

er et program for å se GTK 4 temaer og skjermelementer

libgtk-4.so

inneholder funksjoner som gir en API for å implementere grafisk brukergrensesnitt