Introduksjon til GTK 4
GTK 4 pakken inneholder
biblioteker som brukes til å lage grafiske brukergrensesnitt for
applikasjoner.
Notat
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen
pakker riktig hvis LFS eller avhengigheter har blitt oppdatert
siden den siste stabile versjonene av bøkene.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://download.gnome.org/sources/gtk/4.16/gtk-4.16.7.tar.xz
-
Nedlasting MD5 sum: e8d88098daebb2c573690827152908ac
-
Nedlastingsstørrelse: 18 MB
-
Estimert diskplass som kreves: 1.1 GB (med dokumenter; legg
til 154 MB for tester)
-
Estimert byggetid: 1.7 SBU (bruker parallellisme=4; med
dokumenter; legg til 1.1 SBU for tester eller 3.7 SBU for
NVIDIA)
GTK 4 Avhengigheter
Påkrevd
FriBidi-1.0.16, gdk-pixbuf-2.42.12, graphene-1.10.8,
ISO Codes-4.17.0, libepoxy-1.5.10,
libxkbcommon-1.7.0, Pango-1.55.0, PyGObject-3.50.0, og wayland-protocols-1.38
Anbefalt
adwaita-icon-theme-47.0 (standard for
enkelte gtk4 innstillingsnøkler), gst-plugins-bad-1.24.9, glslc from shaderc-2024.3, gst-plugins-good-1.24.9 (kjøretid,
bygget med libvpx-1.15.0), hicolor-icon-theme-0.18 (nødvendig
for tester og for standarder), og librsvg-2.59.2, og Vulkan-Loader-1.3.301
Anbefalt (Påkrevd hvis GNOME bygges)
GLib-2.82.2 (med GObject Introspection) og
Vulkan-Loader-1.3.301
Valgfri
Avahi-0.8 (for noen tester), colord-1.4.7,
Cups-2.4.11, docutils-0.21.2, Gi-DocGen-2024.1, Highlight-4.14 (kjøretid, bare brukt av
gtk4-demo for syntaks
utheving av demo kildekoden), libcloudproviders-0.3.6, sassc-3.6.2, tinysparql-3.8.1, cpdb, pydbus (for
noen tester), og sysprof
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-2024.1 installert og ønsker å
bygge API dokumentasjonen for denne pakken, kjør:
sed "s@'doc'@& / 'gtk-4.16.7'@" -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
. En test er kjent for å mislykkes hvis
Cantrell fonts
ikke er installert. Omtrent et dusin av testene er kjent for å
mislykkes med mindre (for det meste usynlige) forskjeller mellom
gjengivelsen og det leverte referansebildet. Utsted grep 'not ok' meson-logs/testlog-x11.txt
-B3 (bruk testlog-wayland.txt
hvis du tester i et Wayland
økt) for å liste dem og bildefilene som viser gjengivelsen,
referanseutdataen og forskjellene. Du kan ta en titt på disse
bildene for å sikre at forskjellene er ubetydelige. 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 ukjent årsak. 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.8.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.7 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.3.301 or glslc from shaderc-2024.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 kjernekonfigurasjonen, og selv om den
eksisterer kan den ikke nås som uprivilegerte brukere.
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-icon-browser, gtk4-launch, gtk4-node-editor,
gtk4-print-editor, gtk4-query-settings, 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-icon-browser
|
er et verktøy for å utforske ikonene i det gjeldende
ikontemaet. Den viser ikoner i ulike størrelser, deres
symbolske varianter når tilgjengelig, samt en beskrivelse
av ikonet og dets kontekst
|
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-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-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
|