manpagez: man pages & more
info emacs
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

D.6 GTK resources

If Emacs was built to use the GTK widget set, then the menu bar, tool bar, scroll bar and the dialogs are customized with the standard GTK customization file, ‘~/.gtkrc-2.0’, or with the Emacs specific file ‘~/.emacs.d/gtkrc’. We recommend that you use ‘~/.emacs.d/gtkrc’ for customizations, since ‘~/.gtkrc-2.0’ seems to be ignored when running GConf with GNOME. These files apply only to GTK widget features. To customize Emacs font, background, faces, etc., use the normal X resources (see section X Resources).

Some GTK themes override these mechanisms, which means that using these mechanisms will not work to customize them.

In these files you first define a style and say what it means; then you specify to apply the style to various widget types (see section GTK widget names). Here is an example of how to change the font for Emacs menus:

# Define the style ‘menufont’.
style "menufont"
  font_name = "helvetica bold 14"  # This is a Pango font name

# Specify that widget type ‘*emacs-menuitem*’ uses ‘menufont’.
widget "*emacs-menuitem*" style "menufont"

Here is a more elaborate example, showing how to change the parts of the scroll bar:

style "scroll"
  fg[NORMAL] = "red"     # The arrow color.
  bg[NORMAL] = "yellow"  # The thumb and background around the arrow.
  bg[ACTIVE] = "blue"    # The trough color.
  bg[PRELIGHT] = "white" # The thumb color when the mouse is over it.

widget "*verticalScrollBar*" style "scroll"

There are also parameters that affect GTK as a whole. For example, the property gtk-font-name sets the default font for GTK. You must use Pango font names (see section GTK styles). A GTK resources file that just sets a default font looks like this:

gtk-font-name = "courier 12"

The GTK resources file is fully described in the GTK API document. This can be found in ‘prefix/share/gtk-doc/html/gtk/gtk-resource-files.html’, where ‘prefix’ is the directory in which the GTK libraries were installed (usually ‘/usr’ or ‘/usr/local’). You can also find the document online, at

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© 2000-2017
Individual documents may contain additional copyright information.