D.5.2 GTK+ widget names
A GTK+ widget is specified by a widget name and a widget
class. The widget name refers to a specific widget
(e.g., ‘ emacs-menuitem
’), while the widget class refers to a
collection of similar widgets (e.g., ‘ GtkMenuItem
’). 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
.
GTK+ resource files can contain two types of commands for specifying widget appearances:
widget
specifies a style for widgets based on the class name, or just the class.
widget_class
specifies a style for widgets based on the class name.
See the previous subsection for examples of using the widget
command; the widget_class
command is used similarly. Note that
the widget name/class and the style must be enclosed in double-quotes,
and these commands must be at the top level in the GTK+ resource file.
As previously noted, you may specify a widget name or class with
shell wildcard syntax: ‘ *
’ matches zero or more characters and
‘ ?
’ matches one character. This example assigns a style to all
widgets:
widget "*" style "my_style"