Introduction to GTK3
The GTK3 package contains
libraries used for creating graphical user interfaces for
applications.
This package is known to build and work properly using an LFS 12.3
platform.
Package Information
GTK3 Dependencies
Required
at-spi2-core-2.54.1, gdk-pixbuf-2.42.12, libepoxy-1.5.10, and
Pango-1.56.1
Recommended
adwaita-icon-theme-47.0 (at runtime;
default for some gtk3 settings keys and also needed for one test),
docbook-xsl-nons-1.79.2 (for
generating manual pages), hicolor-icon-theme-0.18 (needed for
tests), ISO Codes-4.17.0, libxkbcommon-1.8.0, libxslt-1.1.42
(for generating manual pages), Wayland-1.23.0, and wayland-protocols-1.40
Recommended (Required if building GNOME)
GLib-2.82.4 (with GObject Introspection)
Optional
colord-1.4.7, Cups-2.4.11, GTK-Doc-1.34.0, libcloudproviders-0.3.6, PyAtSpi2-2.46.1 (for tests), sassc-3.6.2,
tinysparql-3.8.2, and PAPI
Installation of GTK3
Install GTK3 by running the
following commands:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D man=true \
-D broadway_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-47.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
-D broadway_backend=true
:
This switch enables the HTML5 GTK backend.
-D man=true
: This switch
allows generating manual pages.
-D gtk_doc=true
: This switch enables
building documentation. It requires GTK-Doc-1.34.0.
-D tracker3=true
: This switch enables
the search function based on TinySPARQL in the GTK3 file chooser
dialog. It requires tinysparql-3.8.2.
-D cloudproviders=true
: Use this switch
if you have libcloudproviders-0.3.6 installed and
wish to enable support for cloud providers in a file chooser
window.
Configuring GTK3
Config Files
~/.config/gtk-3.0/settings.ini
and
/etc/gtk-3.0/settings.ini
Configuration Information
GTK3 themes change the way a
GTK3 application looks. An icon
theme can be used to change the icons that appear on the
application's toolbar. If you have installed a GTK3 theme (e.g. the Adwaita theme built in
GTK3), an icon theme (such as
oxygen-icons-6.0.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:
GTK3 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 GTK3 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 GTK3
|
gtk3-demo-application
|
is a simple GTK3
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 GTK3 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. GTK3 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 GTK3 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
GTK3
|
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
|