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

D.6.1 GTK widget names

A GTK widget is specified by its widget class and widget name. The widget class is the type of the widget: for example, GtkMenuBar. The widget name is the name given to a specific widget. A widget always has a class, but need not have a name.

Absolute names are sequences of widget names or widget classes, corresponding to hierarchies of widgets embedded within other widgets. For example, if a GtkWindow named top contains a GtkVBox named box, which in turn contains a GtkMenuBar called menubar, the absolute class name of the menu-bar widget is GtkWindow.GtkVBox.GtkMenuBar, and its absolute widget name is top.box.menubar.

When assigning a style to a widget, you can use the absolute class name or the absolute widget name.

There are two commands to specify changes for widgets:

widget_class

specifies a style for widgets based on the absolute class name.

widget

specifies a style for widgets based on the absolute class name, or just the class.

You must specify the class and the style in double-quotes, and put these commands at the top level in the GTK customization file, like this:

 
style "menufont"
{
  font_name = "helvetica bold 14"
}

widget "top.box.menubar" style "menufont"
widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont"

Matching of absolute names uses shell wildcard syntax: ‘*’ matches zero or more characters and ‘?’ matches one character. This example assigns base_style to all widgets:

 
widget "*" style "base_style"

Given the absolute class name GtkWindow.GtkVBox.GtkMenuBar and the corresponding absolute widget name top.box.menubar, all these examples specify my_style for the menu bar:

 
widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
widget_class "GtkWindow.*.GtkMenuBar" style "my_style"
widget_class "*GtkMenuBar" style "my_style"
widget "top.box.menubar" style "my_style"
widget "*box*menubar" style "my_style"
widget "*menubar" style "my_style"
widget "*menu*" style "my_style"

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