GTK-4.12.4
Introduction to GTK 4
The GTK 4 package contains libraries used for
creating graphical user interfaces for applications.
Note
Development versions of BLFS may not build or run
some packages properly if LFS or dependencies have been updated
since the most recent stable versions of the books.
Package Information
Download (HTTP): https://download.gnome.org/sources/gtk/4.12/gtk-4.12.4.tar.xz
Download MD5 sum: 3444d68d81583a2c1d04fea0f4144ec0
Download size: 16 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.9 SBU for tests)
GTK 4 Dependencies
Required
FriBidi-1.0.13,
gdk-pixbuf-2.42.10,
graphene-1.10.8,
ISO Codes-4.15.0,
libepoxy-1.5.10,
libxkbcommon-1.6.0,
Pango-1.50.14,
PyGObject-3.46.0, and
wayland-protocols-1.32
Recommended
adwaita-icon-theme-45.0 (default for some gtk4 settings keys),
gst-plugins-bad-1.22.7,
gst-plugins-good-1.22.7 (runtime,
built with libvpx-1.13.1),
hicolor-icon-theme-0.17 (needed for tests and for defaults), and
librsvg-2.57.0
Recommended (Required if building GNOME)
gobject-introspection-1.78.1
Optional
colord-1.4.6,
Cups-2.4.7,
docutils-0.20.1,
FFmpeg-6.1 (built with
libvpx-1.13.1),
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,
cpdb,
sysprof, and
vulkan
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.4'@" -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.6 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.
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-icons5-5.109.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
|