Introduction to GTK+ 3
The GTK+ 3 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
GTK+ 3 Dependencies
Required
at-spi2-core-2.50.1, gdk-pixbuf-2.42.10, libepoxy-1.5.10, and
Pango-1.51.2
Recommended
adwaita-icon-theme-45.0 (at runtime;
default for some gtk+3 settings keys and also needed for one test),
docbook-xsl-nons-1.79.2 (for
generating manual pages), hicolor-icon-theme-0.17 (needed for
tests), ISO Codes-4.16.0, libxkbcommon-1.6.0, libxslt-1.1.39
(for generating manual pages), sassc-3.6.2,
Wayland-1.22.0, and wayland-protocols-1.33
Recommended (Required if building GNOME)
gobject-introspection-1.78.1
Optional
colord-1.4.7, Cups-2.4.7, GTK-Doc-1.33.2, libcloudproviders-0.3.5, PyAtSpi2-2.46.1 (for tests), Tracker-3.6.0, and PAPI
Installation of GTK+ 3
Install GTK+ 3 by running the
following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dman=true \
-Dbroadway_backend=true \
.. &&
ninja
To test the results you need a graphical session, then issue
dbus-run-session ninja
test.
Now, as the root
user:
ninja install
One test named check-cursor-names
is
known to fail if adwaita-icon-theme-45.0 is not
installed.
Note
If you installed the package on to your system using a
“DESTDIR”
method, an important file was not installed and must be copied
and/or generated. Generate it using the following command as the
root
user:
gtk-query-immodules-3.0 --update-cache
Note
If you installed the package to your system using a “DESTDIR” method,
/usr/share/glib-2.0/schemas/gschemas.compiled
was not updated/created. Create (or update) the file using the
following command as the root
user:
glib-compile-schemas /usr/share/glib-2.0/schemas
Command Explanations
-Dbroadway_backend=true
:
This switch enables the HTML5 GTK backend.
-Dman=true
: This switch
allows generating manual pages.
-Dgtk_doc=true
: This switch enables
building documentation. It requires GTK-Doc-1.33.2.
-Dtracker3=true
: This switch enables
the search function based on Tracker 3 in the GTK+-3 file chooser
dialog. It requires Tracker-3.6.0.
-Dcloudproviders=true
: Use this switch
if you have libcloudproviders-0.3.5 installed and
wish to enable support for cloud providers in a file chooser
window.
Configuring GTK+ 3
Config Files
~/.config/gtk-3.0/settings.ini
and
/etc/gtk-3.0/settings.ini
Configuration Information
GTK+ 3 themes change the way a
GTK+ 3 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+ 3 theme (e.g. the Adwaita theme built
in GTK+ 3), an icon theme (such
as oxygen-icons-5.115.0) and/or a font
(Dejavu fonts), you can set your
preferences in ~/.config/gtk-3.0/settings.ini
, or the default
system wide configuration file (as the root
user), in /etc/gtk-3.0/settings.ini
. For the local user
an example is:
mkdir -vp ~/.config/gtk-3.0
cat > ~/.config/gtk-3.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-toolbar-style = GTK_TOOLBAR_BOTH_HORIZ
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+ 3 Reference Manual. There are many more themes available
at https://www.gnome-look.org/browse/
and other places.
As part of GTK+-3.0's redesign, the scroll bar buttons are no
longer visible on the scrollbar in many applications. If this
functionality is desired, modify the gtk.css
file and restore them using the
following command:
cat > ~/.config/gtk-3.0/gtk.css << "EOF"
* {
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
}
EOF
Contents
Installed Programs:
broadwayd, gtk3-demo,
gtk3-demo-application, gtk3-icon-browser, gtk3-widget-factory,
gtk-builder-tool, gtk-encode-symbolic-svg, gtk-launch,
gtk-query-immodules-3.0, gtk-query-settings, and
gtk-update-icon-cache
Installed Libraries:
libgailutil-3.so, libgdk-3.so, and
libgtk-3.so
Installed Directories:
/etc/gtk-3.0,
/usr/include/{gail,gtk}-3.0, /usr/{lib,share}/gtk-3.0, and
/usr/share/themes/{Default,Emacs}/gtk-3.0
Short Descriptions
broadwayd
|
provides support for displaying GTK+ 3 applications in a web
browser, using HTML5 and web sockets
|
gtk3-demo
|
is a simple program that demonstrates some of the tasks
that can be done with GTK+
3
|
gtk3-demo-application
|
is a simple GTK+ 3
application
|
gtk3-icon-browser
|
is a utility to explore the icons in the current icon
theme. It shows icons in various sizes, their symbolic
variants where available, as well as a description of the
icon and its context
|
gtk3-widget-factory
|
is a program to view GTK+
3 themes and widgets
|
gtk-builder-tool
|
performs various operations on GtkBuilder .ui files
|
gtk-encode-symbolic-svg
|
converts symbolic SVG icons into specially prepared PNG
files. GTK+ 3 can load
and recolor these PNGs, just like original SVGs, but
loading them is much faster
|
gtk-launch
|
launches an application using the given name. The name
should match the application desktop file name, as
residing in /usr/share/applications , with or
without the '.desktop' suffix
|
gtk-query-immodules-3.0
|
collects information about loadable input method modules
for GTK+ 3 and writes it
to the default cache file location, or to standard output
|
gtk-query-settings
|
provides a complete listing of all settings related to
GTK+ 3
|
gtk-update-icon-cache
|
is an icon theme caching utility that creates mmap()able
cache files for icon themes
|
libgailutil-3.so
|
contains functions that implement the accessibility
interfaces defined by the GNOME Accessibility Toolkit
|
libgdk-3.so
|
contains functions that act as a wrapper around the
low-level drawing and windowing functions provided by the
underlying graphics system
|
libgtk-3.so
|
contains functions that provide an API to implement
graphical user interfaces
|