Introduksjon til GTK 4
GTK 4 pakken inneholder
biblioteker som brukes til å lage grafiske brukergrensesnitt for
applikasjoner.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.4 plattform.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://download.gnome.org/sources/gtk/4.18/gtk-4.18.6.tar.xz
-
Nedlasting MD5 sum: 9ad89b1e6a71ac3a06ca8bbeed6fd466
-
Nedlastingsstørrelse: 17 MB
-
Estimert diskplass som kreves: 890 MB (med dokumenter; legg
til 132 MB for tester)
-
Estimert byggetid: 1.4 SBU (bruker parallellisme=4; med
dokumenter; legg til 3.6 SBU for tester)
GTK 4 Avhengigheter
Påkrevd
gdk-pixbuf-2.42.12, graphene-1.10.8,
ISO Codes-4.18.0, libepoxy-1.5.10,
libxkbcommon-1.11.0, Pango-1.56.4,
PyGObject-3.52.3, og wayland-protocols-1.45
Anbefalt
adwaita-icon-theme-48.1 (kjøretid,
standard for noen gtk4 innstillingstaster), gst-plugins-bad-1.26.5, glslc from shaderc-2025.3, gst-plugins-good-1.26.5 (kjøretid,
bygget med libvpx-1.15.2), hicolor-icon-theme-0.18 (nødvendig
for tester og for standarder), og librsvg-2.61.0, og Vulkan-Loader-1.4.321
Anbefalt (Påkrevd hvis GNOME bygges)
GLib-2.84.4 (med GObject Introspection)
Valgfri
Avahi-0.8 (for noen tester), colord-1.4.8,
Cups-2.4.12, docutils-0.21.2, Gi-DocGen-2025.4, Highlight-4.16 (kjøretid, bare brukt av
gtk4-demo for syntaks
utheving av demo kildekoden), libcloudproviders-0.3.6, sassc-3.6.2, tinysparql-3.9.2, accesskit-c,
cpdb, pydbus (for
noen tester), og sysprof
Installasjon av GTK 4
Først, fiks et problem når du bygger med gcc-15:
sed -e '939 s/= { 0, }//' \
-e '940 a memset (&transform, 0, sizeof(GtkCssTransform));' \
-i gtk/gtkcsstransformvalue.c
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-2025.4 installert og ønsker å
bygge API dokumentasjonen for denne pakken, kjør:
sed "s@'doc'@& / 'gtk-4.18.6'@" -i ../docs/reference/meson.build &&
meson configure -D documentation=true &&
ninja
For å kjøre testene, 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,needs-udmabuf}
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. Flere andre
tester kan mislykkes av ukjente årsaker. 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.9.2 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.21.2 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.321 or glslc from shaderc-2025.3
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,needs-udmabuf}
:
Deaktiver testene som krever den eksterne avhengigheten pydbus, og
testene som krever enhetsnoden /dev/udmabuf
. Enhetsnoden eksisterer ikke hvis
funksjonen ikke er aktivert i kjernekonfigurasjon.
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.0.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
|