GTK+-3.24.5

#### Beyond Linux® From Scratch - Version 2019-02-27

### Chapter 25. X Libraries

- Prev

  GTK+-2.24.32

- Next

  GTK Engines-2.20.2

- Up
- Home

# GTK+-3.24.5

## 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-8.4 platform.

### Package Information

- Download (HTTP): http://ftp.gnome.org/pub/gnome/sources/gtk+/3.24/gtk+-3.24.5.tar.xz

- Download (FTP): ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.24/gtk+-3.24.5.tar.xz

- Download MD5 sum: 32862355c08f6af3e7848c695cd4081b

- Download size: 20 MB

- Estimated disk space required: 585 MB (add 11 MB for tests)

- Estimated build time: 2.8 SBU (using parallelism=4, add 0.6 SBU for tests)

### GTK+ 3 Dependencies

#### Required

at-spi2-atk-2.30.0, FriBidi-1.0.5, gdk-pixbuf-2.38.0, libepoxy-1.5.3, and Pango-1.42.4

#### Recommended

adwaita-icon-theme-3.30.1 (default for some gtk+3 settings keys, also needed for tests), hicolor-icon-theme-0.17 (needed for tests), ISO Codes-4.1, libxkbcommon-0.8.3, Wayland-1.16.0, and wayland-protocols-1.17

#### Recommended (Required if building GNOME)

gobject-introspection-1.58.3

#### Optional

colord-1.4.3, Cups-2.2.10, DocBook-utils-0.6.14, GTK-Doc-1.29, JSON-GLib-1.4.4, PAPI, and rest

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/gtk3

## Installation of GTK+ 3

Install GTK+ 3 by running the following commands:

    ./configure --prefix=/usr             \
                --sysconfdir=/etc         \
                --enable-broadway-backend \
                --enable-x11-backend      \
                --enable-wayland-backend &&
    make

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.

To test the results you need a graphical session, then issue make -k check. The colorchooser.ui portion of the accessibility-dump test is known to fail. Additionally many tests will fail if the current gtk theme (such as current XFCE themes) has deprecated elements.

Now, as the `root` user:

    make install

### 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

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

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

`--enable-wayland-backend`: This switch enables the Wayland GDK backend. Replace with `--disable-wayland-backend` if you do not have Wayland-1.16.0 and wayland-protocols-1.17 or you do not wish to build GNOME with Wayland support. Other changes may be needed to allow the build to complete without the wayland backend enabled. Note that a previous installation of gtk+3 built with wayland will interfere with installation without wayland. If this is desired, remove /usr/lib//usr/lib/libgtk-3* before installation.

`--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-extra-3.28), an icon theme (such as oxygen-icons5-5.55.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 http://gnome-look.org/ and other places.

## 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, /usr/share/gtk-doc/html/{gail-libgail-util,gdk,gtk}3, 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 | can perform 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.

Last updated on 2019-02-15 15:01:29 -0600

- Prev

  GTK+-2.24.32

- Next

  GTK Engines-2.20.2

- Up
- Home