# The syntax in the engine sections is a mess. Here are some hints:

# gradient : '{' direction gradient-color-list '}'
#	   | '<' INT '>'				-- palette ref

# direction : /* nothing */
#	    | VERTICAL
#	    | HORIZONTAL

# gradient-color-list : color
#		      : color ',' gradient-color-list
#		      : color '[' weight ']' gradient-color-list

# weight : FLOAT
#	 | INT

# color : "#RRGGBB"
#	| '{' FLOAT ',' FLOAT ',' FLOAT '}'
#	| '<' color-ext '>'

# color-ext : STRING			-- file in $HOME to read color from
#	    | '<' INT '>'		-- use indexed palette entry
#	    | '<' INT ',' FLOAT '>'	-- multiply palette entry

# Allow the engine module to be loaded no matter what --prefix GTK+
# was configured with
module_path ".:/usr/lib/gtk/themes/engines"

# Default style for all widgets to build from
style "default"
{
  font = "-adobe-helvetica-medium-r-normal-*-*-120-*-*-p-*-iso8859-1"

  fg[NORMAL] = "#000000"
  fg[ACTIVE] = "#000000"
  fg[PRELIGHT] = "#000000"
  fg[INSENSITIVE] = "#000000"
  fg[SELECTED] = "#ffffff"

  bg[NORMAL] = "#dcdcdc"
  bg[ACTIVE] = "#ababab"
  bg[PRELIGHT] = "#f2f2f2"
  bg[INSENSITIVE] = "#ffffff"
  bg[SELECTED] = "#0A5F89"

#  text[NORMAL] = "#000000"
#  text[ACTIVE] = "#000000"
#  text[PRELIGHT] = "#000000"
#  text[SELECTED] = "#000000"
#  text[INSENSITIVE] = "#000000"

  base[NORMAL] = "#ffffff"
  base[PRELIGHT] = "#ffffff"
  base[INSENSITIVE] = "#ffffff"

  engine "eazel-engine" {

    # The focus/selection color
    palette[0] = { "#21449c" }

    # The gradient used for recoloring images
    palette[1] = { "#000000", <0>, "#ffffff" }

    # Used for recolouring inactive images
    palette[2] = { "#000000", "#888888", "#ffffff" }

    # Set these colors here, so we can just reference the palette
    bg[SELECTED] = <0>
    base[SELECTED] = <0>

    focus_color = <0>
    insensitive_colors = "#636563", "#cecfce"

    # Create the default (only) stock image table. This maps from
    # identifiers used in the engine to reference image parts to
    # the actual images, and sets attributes of the images
    stock
    {
      "CHECK" {
        image = "check-default.png"
      }
      "CHECK_FOCUS" {
        image = "check-default-focus.png"
	recolor = <1>
      }
      "CHECK_HI" {
        image = "check-hilight.png"
      }
      "CHECK_HI_FOCUS" {
        image = "check-hilight-focus.png"
	recolor = <1>
      }
      "CHECK_PRESSED" {
        image = "check-pressed.png"
      }
      "CHECK_PRESSED_FOCUS" {
	image = "check-pressed-focus.png"
	recolor = <1>
      }
      "CHECK_DISABLED" {
	image = "check-insensitive.png"
      }
      "CHECK_ACTIVE" {
	image = "check-active-default.png"
      }
      "CHECK_ACTIVE_FOCUS" {
	image = "check-active-default-focus.png"
	recolor = <1>
      }
      "CHECK_ACTIVE_HI" {
	image = "check-active-hilight.png"
      }
      "CHECK_ACTIVE_HI_FOCUS" {
	image = "check-active-hilight-focus.png"
	recolor = <1>
      }
      "CHECK_ACTIVE_PRESSED" {
	image = "check-active-pressed.png"
      }
      "CHECK_ACTIVE_PRESSED_FOCUS" {
	image = "check-active-pressed-focus.png"
	recolor = <1>
      }
      "CHECK_ACTIVE_DISABLED" {
	image = "check-active-insensitive.png"
      }
      "OPTION" {
	image = "radio-default.png"
      }
      "OPTION_FOCUS" {
	image = "radio-default-focus.png"
	recolor = <1>
      }
      "OPTION_HI" {
	image = "radio-hilight.png"
      }
      "OPTION_HI_FOCUS" {
	image = "radio-hilight-focus.png"
	recolor = <1>
      }
      "OPTION_PRESSED" {
	image = "radio-pressed.png"
      }
      "OPTION_PRESSED_FOCUS" {
	image = "radio-pressed-focus.png"
	recolor = <1>
      }
      "OPTION_DISABLED" {
	image = "radio-insensitive.png"
      }
      "OPTION_ACTIVE" {
	image = "radio-active-default.png"
      }
      "OPTION_ACTIVE_FOCUS" {
	image = "radio-active-default-focus.png"
	recolor = <1>
      }
      "OPTION_ACTIVE_HI" {
	image = "radio-active-hilight.png"
      }
      "OPTION_ACTIVE_HI_FOCUS" {
	image = "radio-active-hilight-focus.png"
	recolor = <1>
      }
      "OPTION_ACTIVE_PRESSED" {
	image = "radio-active-pressed.png"
      }
      "OPTION_ACTIVE_PRESSED_FOCUS" {
	image = "radio-active-pressed-focus.png"
	recolor = <1>
      }
      "OPTION_ACTIVE_DISABLED" {
	image = "radio-active-insensitive.png"
      }
      "H_TROUGH" {
	image = "scroller-h-trough.png"
	border = { 28, 28, 2, 2 }
      }
      "V_TROUGH" {
	image = "scroller-v-trough.png"
	border = { 2, 2, 28, 28 }
      }
      "ARROW_UP" {
	image = "scroller-arrow-up.png"
      }
      "ARROW_UP_HI" {
	image = "scroller-arrow-up-hilight.png"
      }
      "ARROW_UP_ACTIVE" {
	image = "scroller-arrow-up-pressed.png"
      }
      "ARROW_DOWN" {
	image = "scroller-arrow-down.png"
      }
      "ARROW_DOWN_HI" {
	image = "scroller-arrow-down-hilight.png"
      }
      "ARROW_DOWN_ACTIVE" {
	image = "scroller-arrow-down-pressed.png"
      }
      "ARROW_RIGHT" {
	image = "scroller-arrow-right.png"
      }
      "ARROW_RIGHT_HI" {
	image = "scroller-arrow-right-hilight.png"
      }
      "ARROW_RIGHT_ACTIVE" {
	image = "scroller-arrow-right-pressed.png"
      }
      "ARROW_LEFT" {
	image = "scroller-arrow-left.png"
      }
      "ARROW_LEFT_HI" {
	image = "scroller-arrow-left-hilight.png"
      }
      "ARROW_LEFT_ACTIVE" {
	image = "scroller-arrow-left-pressed.png"
      }
      "H_SCROLLBAR" {
	image = "scroller-h.png"
	border = { 3, 3, 1, 1 }
	recolor = <1>
      }
      "H_SCROLLBAR_HI" {
	image = "scroller-h-hilight.png"
	border = { 3, 3, 1, 1 }
	recolor = <1>
      }
      "H_SCROLLBAR_INACTIVE" {
	image = "scroller-h.png"
	border = { 3, 3, 1, 1 }
	recolor = <2>
      }
      "H_SCROLLBAR_THUMB" {
	image = "scroller-h-thumb.png"
	recolor = <1>
      }
      "H_SCROLLBAR_THUMB_HI" {
	image = "scroller-h-thumb-hilight.png"
	recolor = <1>
      }
      "H_SCROLLBAR_THUMB_INACTIVE" {
	image = "scroller-h-thumb.png"
	recolor = <2>
      }
      "V_SCROLLBAR" {
	image = "scroller-v.png"
	border = { 1, 1, 3, 3 }
	recolor = <1>
      }
      "V_SCROLLBAR_HI" {
	image = "scroller-v-hilight.png"
	border = { 1, 1, 3, 3 }
	recolor = <1>
      }
      "V_SCROLLBAR_INACTIVE" {
	image = "scroller-v.png"
	border = { 1, 1, 3, 3 }
	recolor = <2>
      }
      "V_SCROLLBAR_THUMB" {
	image = "scroller-v-thumb.png"
	recolor = <1>
      }
      "V_SCROLLBAR_THUMB_HI" {
	image = "scroller-v-thumb-hilight.png"
	recolor = <1>
      }
      "V_SCROLLBAR_THUMB_INACTIVE" {
	image = "scroller-v-thumb.png"
	recolor = <2>
      }
      "PROGRESS_BAR" {
	image = "progressbar.png"
	border = { 4, 4, 1, 1 }
	recolor = <1>
      }
      "PROGRESS_BAR_LEFT" {
	image = "progressbar-left.png"
      }
      "PROGRESS_BAR_RIGHT" {
	image = "progressbar-right.png"
	border = { 0, 0, 2, 0 }
      }
      "PROGRESS_BAR_INACTIVE" {
	image = "progressbar.png"
	border = { 4, 4, 1, 1 }
	recolor = <1>
      }
      "PROGRESS_TROUGH" {
	image = "progressbar_trough.png"
	border = { 6, 4, 6, 4 }
      }
      "H_SLIDER_THUMB" {
	image = "slider_h_thumb.png"
	border = { 4, 4, 1, 1 }
	recolor = <1>
      }
      "H_SLIDER_THUMB_INACTIVE" {
	image = "slider_h_thumb.png"
	border = { 4, 4, 1, 1 }
	recolor = <2>
      }
      "H_SLIDER_TROUGH" {
	image = "slider_h_trough.png"
	border = { 6, 6, 0, 0 }
      }
      "H_SLIDER_TROUGH_ACTIVE" {
	image = "slider_h_trough_focus.png"
	border = { 6, 6, 0, 0 }
	recolor = <1>
      }
      "V_SLIDER_THUMB" {
	image = "slider_v_thumb.png"
	border = { 1, 1, 4, 4 }
	recolor = <1>
      }
      "V_SLIDER_THUMB_INACTIVE" {
	image = "slider_v_thumb.png"
	border = { 1, 1, 4, 4 }
	recolor = <2>
      }
      "V_SLIDER_TROUGH" {
	image = "slider_v_trough.png"
	border = { 0, 0, 6, 6 }
      }
      "V_SLIDER_TROUGH_ACTIVE" {
	image = "slider_v_trough_focus.png"
	border = { 0, 0, 6, 6 }
	recolor = <1>
      }
      "TAB_TOP" {
	image = "tab_usel.png"
	border = { 4, 4, 10, 5 }
      }
      "TAB_TOP_LEFT" {
	image = "tab_usel-left.png"
	border = { 4, 4, 10, 5 }
      }
      "TAB_TOP_ACTIVE" {
	image = "tab_sel.png"
	border = { 4, 14, 10, 5 }
      }
      "TAB_BOTTOM" {
	image = "tab_usel-bottom.png"
	border = { 4, 4, 10, 5 }
      }
      "TAB_BOTTOM_LEFT" {
	image = "tab_usel-bottom-left.png"
	border = { 4, 4, 10, 5 }
      }
      "TAB_BOTTOM_ACTIVE" {
	image = "tab_sel-bottom.png"
	border = { 4, 4, 10, 5 }
      }
      "SPIN_ARROW_UP" {
	image = "arrow_up-spinner.png"
      }
      "SPIN_ARROW_DOWN" {
	image = "arrow_down-spinner.png"
      }
    }
  }
}

# common default
class "GtkWidget" style "default"


# Style for widgets that don't want gradient backgrounds
style "no-gradients"
{
  engine "eazel-engine"
  {
    gradient[NORMAL] = {}
    gradient[ACTIVE] = {}
    gradient[PRELIGHT] = {}
    gradient[SELECTED] = {}
  }
}

class "GtkNotebook" style "no-gradients"
class "GtkRuler" style "no-gradients"


# Style used for (prelighted) menu items
style "menuitem"
{
  fg[PRELIGHT] = "#ffffff"
  
  engine "eazel-engine"
  {
    bg[PRELIGHT] = <0>

    gradient[NORMAL] = {}
    gradient[ACTIVE] = {}
    gradient[SELECTED] = {}
    # by default menuitem_gradient just references <0>
    gradient[PRELIGHT] = { vertical : <0,0.5> [3] <0> [10] <0> [2] <0,0.6> }
  }
}

class "GtkMenuItem" style "menuitem"
widget_class "*.*MenuItem.*" style "menuitem"


style "menu"
{
  engine "eazel-engine"
  {
    gradient[NORMAL] = {}
    gradient[ACTIVE] = {}
    gradient[SELECTED] = {}
  }
}

# This enables gradiented menu backgrounds
class "GtkMenu" style "menu"



style "entry"
{
  engine "eazel-engine"
  {
    thickness = 3
  }
}

# some extra padding around text entries, so the focus marking fits
class "GtkEntry" style "entry"
class "GtkText" style "entry"


style "slider"
{
  engine "eazel-engine"
  {
    thickness = 0
  }
}

class "GtkVScale" style "slider"
class "GtkHScale" style "slider"


style "eventbox"
{
  # Causes the parent-relative feature of gdk_window_set_back_pixmap ()
  # to be used.
  bg_pixmap[NORMAL] = "<parent>"
  bg_pixmap[INSENSITIVE] = "<parent>"
  bg_pixmap[PRELIGHT] = "<parent>"
  bg_pixmap[SELECTED] = "<parent>"
  bg_pixmap[ACTIVE] = "<parent>"
  engine "eazel-engine" {}
}

# Ensure that there are no holes in tool bars, etc..
class "GtkEventBox" style "eventbox"
class "GtkSocket" style "eventbox"
class "GtkPlug" style "eventbox"
class "BonoboSocket" style "eventbox"
class "BonoboPlug" style "eventbox"
class "NautilusZoomControl" style "eventbox"


# This sucks, but so far I've found no way to get a gradient drawn
# in the middle part of the Foobar. Maybe it's possible to hardcode
# a hack in eazel-theme-draw.c? (draw_flat_box perhaps?)

widget_class "FoobarWidget.*" style "no-gradients"