How to Configure the Interface Theme Engine
============================================

Introduction

   When a GTK+ program is loaded, the GTK library parses the file
   $HOME/.gtkrc, any application-specific style files and any files that
   they refer to. These files are in the same text-based format and
   consist of two types of paragraphs: styles and application of these
   styles onto widget classes and named widgets. More about the format of
   these files can be found in the GTK+ documentation and in a tutorial
   at [1]gtk.themes.org.
   
   Interface is a theme engine. In order to activate the engine and bind
   it to a style, the style's definition must include a specific clause:
   engine "interface" { }. The quoted name tells GTK to use the engine with
   that name. The curly brackets are mandatory, and any engine-specific
   options should be placed within them.
   
   The options are in the form option = value. If you do not define an
   option, the default or inherited value for the option will be used.
   You always override an inherited value if you define it defined, even
   if the new value is true and the inherited value was false.
   
   By the way, you should not put a semicolon at the end. =)
   
Scrollbar
  
   The Interface theme engine applies a few patches to the scrollbar
   widget which can be configured using the options below:
          
   "scrollbar_knob" '=' ( "normal" | "dimple" | "lines" | "holes" | "buds" )

          If the option is set to anything but normal, an image will be
          drawn on the center of each scrollbar to indicate that it can
          be moved. A "dimple" is a little hole as found on the NextStep
          scrollbars. The "lines" are drawn as the lines on the scrollbars
          in MacOS. "Holes", and "buds" are also common patters used to
          indicate movable objects.
          
   "scrollbar_width" '=' <integer>
          Sets the width of the scrollbar in pixels. Default is 15.
          
   "stepper_arrows" '=' ( "true" | "false" )
          If true the stepper arrows will be drawn in the default GTK
          style, i.e. they will be bevelled and drawn without any
          surrounding box. The default is false.
          
   "stepper_ends" '=' ( "true" | "false" )
          If true the steppers will be placed at either end of the
          scrollbar instead of in the corner, which is the default.
          
   "stepper_box" '=' ( "true" | "false" )
          Draw boxes around the stepper arrows. This option is per
          default set to the inverse of the option stepper_arrows, but
          can also be set explicitly. Having no boxes around black arrows
          is rather ugly, but some people (especially old Amigans) like
          to put boxes around bevelled arrows.=)
          
Other widgets
  
   "paned_knob" '=' ( "normal" | "dimple" | "lines" | "holes" | "buds" )
          The Interface theme engine patches the GtkVPaned and GtkHPaned
          widget classes to make the resize-knob into a resize-bar that
          spans the entire length of the gutter. This options define how
          this resizebar should be drawn. Default is normal, which means
          that the resizebar should be drawn with an etched-in frame, in
          the style of previous versions of Interface.
          
   "handle_knob" '=' ( "normal" | "lines" | "holes" | "buds" )
          The normal look of the handle box knob is made resemble the
          ones Netscape 4.x have, which is also the default. If it is set
          to buds or holes, the buds will be organized in a regular grid.
          If you set it to lines it will be drawn like handle boxes in
          Windows 98.
          
General options
  
   "thin" '=' ( "true" | "false" )
          If thin is set to true, then all frames for the style will be
          drawn with thin frames. Also, the border thickness of the
          widgets will be one pixel instead of the default two pixels,
          which means that the widgets could also be smaller than
          otherwise. I propose that you set thin to true for GtkFrame and
          other widgets that use the etched-in frames extensivelly.
          
   "shine" [ '[' <state_type> ']' ] '=' <real_number>
   "shade" [ '[' <state_type> ']' ] '=' <real_number>
          The values for shine and shade are shading factors used to
          blend the background color into the light and dark colors to
          draw the frames with. State_type is one of "NORMAL", "PRELIGHT",
          "ACTIVE", "SELECTED" and "INSENSITIVE" as usual. The state_type and
          its brackets may be omitted to set the factors for all states.

References

   1. http://gtk.themes.org/
