Next: GTK Names in Emacs, Previous: GTK Resource Basics, Up: GTK resources [Contents][Index]

#### 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"