Introduction to GTK 4
The GTK 4 package contains
libraries used for creating graphical user interfaces for
applications.
This package is known to build and work properly using an LFS 12.1
platform.
Package Information
-
Download (HTTP):
https://download.gnome.org/sources/gtk/4.12/gtk-4.12.5.tar.xz
-
Download MD5 sum: 45db1b94414e7a9f63bd32db9557edf0
-
Download size: 17 MB
-
Estimated disk space required: 502 MB (with docs; add 23 MB
for tests)
-
Estimated build time: 1.3 SBU (using parallelism=4; with
docs; add 0.5 SBU for tests)
GTK 4 Dependencies
Required
FriBidi-1.0.13, gdk-pixbuf-2.42.10, graphene-1.10.8,
ISO Codes-4.16.0, libepoxy-1.5.10,
libxkbcommon-1.6.0, Pango-1.51.2, PyGObject-3.46.0, and wayland-protocols-1.33
Recommended
adwaita-icon-theme-45.0 (default for
some gtk4 settings keys), gst-plugins-bad-1.22.10, gst-plugins-good-1.22.10 (runtime,
built with libvpx-1.14.0), hicolor-icon-theme-0.17 (needed for
tests and for defaults), and librsvg-2.57.1
Recommended (Required if building GNOME)
gobject-introspection-1.78.1
Optional
colord-1.4.7, Cups-2.4.7, docutils-0.20.1, FFmpeg-6.1.1
(built with libvpx-1.14.0), Gi-DocGen-2023.3, Highlight-4.10 (runtime, only used by
gtk4-demo for syntax
highlighting of demo source code), libcloudproviders-0.3.5, sassc-3.6.2, Tracker-3.6.0,
Vulkan-Loader-1.3.277, cpdb, and
sysprof
Installation of GTK 4
Install GTK 4 by running the
following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dbroadway-backend=true \
-Dintrospection=enabled \
.. &&
ninja
If you have Gi-DocGen-2023.3 installed and wish to build
the API documentation for this package, issue:
sed "s@'doc'@& / 'gtk-4.12.5'@" -i ../docs/reference/meson.build &&
meson configure -Ddocumentation=true &&
ninja
To run the tests, issue: dbus-run-session meson test --setup
x11. If you are in a Wayland session, replace x11
with wayland. Nine tests are known to fail if Cantrell
fonts are not installed. Many tests will fail if ~/.config/gtk-4.0/settings.ini
exists and the
gtk-modules line is not commented out. On systems with NVIDIA
graphics cards, the tests may take significantly longer than the
above test time.
Now, as the root
user:
ninja install
Command Explanations
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-Dbroadway-backend=true
:
This switch enables the HTML5 GDK backend.
-Dintrospection=enabled
:
This switch enables using gobject-introspection-1.78.1 to
generate GIR bindings of this packages. These bindings are required
by GNOME.
-Dcloudproviders=enabled
: Use this
switch if you have libcloudproviders-0.3.5 installed and
wish to enable support for cloud providers in a file chooser
window.
-Dtracker=enabled
: Use this switch if
you have Tracker-3.6.0 installed and wish to use search
functionality when running a file chooser.
-Dcolord=enabled
: Use this switch if
you have colord-1.4.7 installed and wish to use colord
with the CUPS printing backend.
-Dman-pages=true
: Use this switch if
you have docutils-0.20.1 installed and wish to
generate the man pages.
-Dsysprof=enabled
: Use this switch if
you have sysprof installed and
wish to enable tracing support for GTK4-based applications.
-Dvulkan=enabled
: Use this switch if
you have Vulkan-Loader-1.3.277 installed and
wish to build the experimental Vulkan backend. Note that you must
have glslc
installed if you decide to enable this option.
Configuring GTK 4
Config Files
~/.config/gtk-4.0/settings.ini
and
/usr/share/gtk-4.0/settings.ini
Configuration Information
GTK 4 themes change the way a
GTK 4 application looks. An icon
theme can be used to change the icons that appear on the
application's toolbar. If you have installed a GTK 4 theme (e.g. the Adwaita theme built in
GTK 4), an icon theme (such as
oxygen-icons-5.115.0) and/or a font
(Dejavu fonts), you can set your
preferences in ~/.config/gtk-4.0/settings.ini
, or the default
system-wide configuration file (as the root
user), in /usr/share/gtk-4.0/settings.ini
. For the local
user, an example is:
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
There are many settings keys, some with default values. You can
find them at Settings:
GTK 4 Reference Manual.
Contents
Installed Programs:
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,
and gtk4-widget-factory
Installed Libraries:
libgtk-4.so
Installed Directories:
/usr/include/gtk-4.0, /usr/lib/gtk-4.0,
and /usr/share/gtk-4.0
Short Descriptions
gtk4-broadwayd
|
provides support for displaying GTK 4 applications in a
web browser using HTML5 and web sockets
|
gtk4-builder-tool
|
performs various operations on GtkBuilder .ui files
|
gtk4-demo
|
is a simple program that demonstrates some of the tasks
that can be done with GTK 4
|
gtk4-demo-application
|
is a simple GTK 4 application which is useful for testing
|
gtk4-encode-symbolic-svg
|
converts symbolic SVG icons into special PNG files. GTK 4
can load and recolor these PNGs, just like original SVGs,
but loading them is much faster
|
gtk4-icon-browser
|
is a utility to explore the icons in the current icon
theme. It shows icons in various sizes, their symbolic
variants when available, as well as a description of the
icon and its context
|
gtk4-launch
|
launches an application using the given name. The name
should match the application .desktop file name (as seen
in /usr/share/applications ), with or
without the '.desktop' extension
|
gtk4-node-editor
|
is a utility to show and edit render node files. Such
render node files can be obtained e.g. from the GTK
inspector
|
gtk4-print-editor
|
is a simple program to demonstrate printing using GTK 4
applications
|
gtk4-query-settings
|
provides a complete listing of all settings related to
GTK 4
|
gtk4-update-icon-cache
|
is an icon theme caching utility that creates mmap()able
cache files for icon themes
|
gtk4-widget-factory
|
is a program to view GTK 4 themes and widgets
|
libgtk-4.so
|
contains functions that provide an API to implement
graphical user interfaces
|