From ArchWiki
Revision as of 19:55, 7 September 2011 by Emiralle (Talk | contribs) (add category widget toolkits)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Summary help replacing me
This articles details theme configuration of GTK+ applications. GTK+ (GIMP Toolkit) is a cross-platform widget toolkit for creating graphical user interfaces. This article will explore the tools used to configure the GTK+ theme, style, icon, font and font size, and also detail manual configuration.
Uniform Look for QT and GTK Applications

From the GTK+ website:

GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.

GTK+, The GIMP Toolkit, was initially made for Gimp but is now a very popular toolkit with bindings for many languages.


GTK+ 1.x

Old GTK+ 1 apps (like xmms) often don't look very nice at first. This is because they use ugly themes by default. To change this, you need to:

  1. download and install some nice themes
  2. change the theme

Some nice themes are in AUR. To install them, see gtk-smooth-engine.

To change the theme you can use gtk-theme-switch:

# pacman -S gtk-theme-switch2

Run it with the 'switch' command.

GTK+ 2.x

Major Desktop Environments provide tools to configure the GTK+ theme, icons, font and font size. Alternatively, tools such as Template:Package Official, Template:Package Official, Template:Package Official and Template:Package Official may be used. Template:Package Official is a DE independent configuration tool from the LXDE project, which does not require any other parts of LXDE. Install one of these packages, as below:

# pacman -S lxappearance

# pacman -S gtk-chtheme

# pacman -S gtk-theme-switch2

# pacman -S gtk2_prefs

It is recommended to install some GTK+ 2 themes as well. The popular Clearlooks theme is included within the Template:Package Official package:

# pacman -S gtk-engines

Further themes can be found in AUR:

Alternatively, GTK+ settings can be configured manually by editing Template:Filename. A list of GTK+ settings can be found in the gnome library. To manually change the GTK+ theme, icons, font and font size, add the following to Template:Filename:


For example: Template:File

Note: The above example requires the packages Template:Package Official, Template:Package Official, Template:Package Official and murrine-themes-collection (from AUR).

GTK+ and QT

If you have GTK+ and QT (KDE) applications on your desktop then you know that their looks don't blend well. If you wish to make your GTK+ styles match your QT styles please read Uniform Look for QT and GTK Applications.


Note: See the GNOME library for the full list of GTK configuration options.

The purpose of this section is to collect GTK configuration settings which can e.g. be used within Template:Codeline.

Enabling Customizable Keyboard Shortcuts

You can customize your GTK applications' keyboard shortcuts (those are called accelerators in GTK terminology) by hovering your mouse over a menu item and pressing your desired key combination. However, this feature is disabled by default. To enable it, set

gtk-can-change-accels = 1

Speed up your GNOME menu

This setting controls the delay between you pointing the mouse at a menu and that menu opening in GNOME. Change this to a setting you prefer. I guess the number is in milliseconds, e.g. 250 being a quarter of a second.

gtk-menu-popup-delay = 0

Reduce widget sizes

If you have a small screen or you just don't like big icons and widgets, you can resize things easily. To have icons without text in toolbars, use

gtk-toolbar-style = GTK_TOOLBAR_ICONS

To use smaller icons, use a line like this:

gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-menu=16,16:gtk-large-toolbar=16,16\

Or to remove icons from buttons completely:

gtk-button-images = 0

You can also remove icons from menus:

gtk-menu-images = 0

There is some more tweaking to do in your themes gtkrc like explained here and there's another theme that does it all.

Compiling GTK+ programs

When writing a start-from-scratch GTK+ program with C, it's necessary to add CFLAGS for gcc (the code was adopted from ubuntu forum):

gcc -g -Wall `pkg-config --cflags --libs gtk+-2.0` -o base base.c

-g and -Wall parameters are not necessary since they are only for verbose debugging outputs. You may try out the official Hello World example provided by the