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-7.10 platform.

Package Information

GTK+ 3 Dependencies


at-spi2-atk-2.22.0, gdk-pixbuf-2.36.0, libepoxy-1.3.1, and Pango-1.40.3


Recommended (Required if building GNOME)


Colord-1.2.12, Cups-2.2.1, DocBook-utils-0.6.14, GTK-Doc-1.25, JSON-GLib-1.2.2, libxkbcommon-0.6.1, rest-0.8.0, Wayland-1.12.0, and wayland-protocols-1.7

User Notes:

Installation of GTK+ 3



GTK+ 3 will overwrite gtk-update-icon-cache from GTK+-2.24.31 if it is installed. There is nothing wrong about that assuming that both programs provide same functionality. If you wish to keep one from GTK+ 2 you can add --enable-gtk2-dependency to the configure command.

Install GTK+ 3 by running the following commands:

sed -i "/seems to be moved/s/^/#/" build-aux/ &&
./configure --prefix=/usr             \
            --sysconfdir=/etc         \
            --enable-broadway-backend \
            --enable-x11-backend      \
            --disable-wayland-backend &&

Some tests fail if /usr/share/glib-2.0/schemas/gschemas.compiled is not found. If you wish to run the test suite, create (or update) the file using the following command as the root user: glib-compile-schemas /usr/share/glib-2.0/schemas.

The accessibility test (six subtests) is known to fail.

To test the results you need a graphical session, then issue make -k check.

Now, as the root user:

make install


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


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

sed -i ... build-aux/ This sed silences several useless and annoying warnings generated by libtool.

--enable-broadway-backend: This switch enables the HTML5 GTK backend.

--enable-x11-backend: This switch enables the X11 GDK backend.

--disable-wayland-backend: This switch disables the Wayland GDK backend. Remove it if you have installed Wayland-1.12.0 and wayland-protocols-1.7 and you wish to build GNOME with Wayland support.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

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. gnome-themes-standard-3.22.2), an icon theme (such as oxygen-icons5-5.25.0) and/or a font (such as DejaVu fonts), you can set your prefences 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"
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

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 and other places.


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:,, and
Installed Directories: /etc/gtk-3.0, /usr/include/{gail,gtk}-3.0, /usr/{lib,share}/gtk-3.0, /usr/share/gtk-doc/html/{gail-libgail-util,gdk,gtk}3, and /usr/share/themes/{Default,Emacs}/gtk-3.0

Short Descriptions


provides support for displaying GTK+ 3 applications in a web browser, using HTML5 and web sockets.


is a simple program that demonstrates some of the things that can be done with GTK+ 3


is a simple GTK+ 3 application.


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.


is a program to view GTK+ 3 themes and widgets.


can perform various operations on GtkBuilder .ui files.


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.


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.


collects information about loadable input method modules for GTK+ 3 and writes it to the default cache file location, or to standard output.


provides a complete listing of all settings related to GTK+ 3


is an icon theme caching utility that creates mmap()able cache files for icon themes.

contains functions that implement the accessibility interfaces defined by the GNOME Accessibility Toolkit.

contains functions that act as a wrapper around the low-level drawing and windowing functions provided by the underlying graphics system.

contains functions that provide an API to implement graphical user interfaces.

Last updated on 2016-10-12 07:23:02 -0500