GTK+-3.20.9

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

Required

at-spi2-atk-2.20.1, gdk-pixbuf-2.34.0, libepoxy-1.3.1, and Pango-1.40.1

Recommended

Recommended (Required if building GNOME)

Optional

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

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

Installation of GTK+ 3

[Note]

Note

GTK+ 3 will overwrite gtk-update-icon-cache from GTK+-2.24.30 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/ltmain.sh &&
./configure --prefix=/usr             \
            --sysconfdir=/etc         \
            --enable-broadway-backend \
            --enable-x11-backend      \
            --disable-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.

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
[Note]

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]

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

sed -i ... build-aux/ltmain.sh: 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,enable}-wayland-backend: This switch disables or enables the Wayland GDK backend, which is required for GNOME Wayland support. Remove it if you have not installed Wayland.

--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.20.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"
[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 things 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 2016-08-27 21:19:37 -0700