######################################################################
# Vignette theme for gtk2 
#
# Copyright (C) 2004 Elia Cogodi (eliacogodi@tin.it)
#
# This theme is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
######################################################################


gtk-icon-sizes = "panel-menu=24,24:gtk-menu=16,16"
gtk-menu-drop-shadow = 1
gtk-menu-shadow-delay = 1

include "icons/iconrc"

style "vignette-default"
{
 
  GtkScrollbar::has_secondary_backward_stepper = 0
  GtkScrollbar::has_secondary_forward_stepper = 0
  #GtkWidget::interior_focus = 0
  #GtkWidget::focus-line-width=0
  GtkButton::default_border = { 0, 0, 0, 0 }
  GtkButton::default_outside_border = { 0, 0, 0, 0 }
  #GtkDialog::action_area_border = {0,0,0,0}
  GtkButton::min_width = 30

  GtkWidget::focus_width=0
  GtkWidget::focus_padding = 2
	GtkWidget::internal_padding = 5
  #GtkScrolledWindow::shadow_type = GTK_SHADOW_IN

  GtkContainer::shadow_type = GTK_SHADOW_NONE
  #GtkPaned::shadow_type = GTK_SHADOW_IN

  GtkMenuBar::internal_padding = 3
  GtkMenuBar::shadow_type = GTK_SHADOW_ETCHED_OUT
  GtkContainer::border_width = 0

  #These properties control how the image on a button is displaced when it is clicked.
  GtkButton::child_displacement_y = 1
  
  #GtkButtonBox::child_min_width = 28

  GtkOptionMenu::indicator_size = { 11, 20 }
  GtkOptionMenu::indicator_spacing = { 6, 3, 1, 1 }

  #This sets the color for odd rows in TreeViews, instead of using
  #the color set by gtk.
  GtkTreeView::odd_row_color = "#f5f5f0"

  fg[NORMAL]       = "#000000"
  fg[ACTIVE]       = "#000000"
  fg[PRELIGHT]     = "#000000"
  fg[SELECTED]     = "#000000"
  fg[INSENSITIVE]  = "#747474"
  bg[NORMAL]       = "#f5f5ed"
  bg[ACTIVE]       = "#73a5e1"		
  bg[PRELIGHT]     = "#FFFFFF"
  bg[SELECTED]     = "#8fbcf1"
  bg[INSENSITIVE]  = "#f5f5ed"
  base[NORMAL]     = "#FFFFFF"
  base[ACTIVE]     = "#73a5e1"
  base[PRELIGHT]   = "#FFFFFF"
  base[INSENSITIVE]= "#f5f5ed"
  base[SELECTED]   = "#8fbcf1"
  text[NORMAL  ]   = "#000000"
  text[INSENSITIVE]= "#a0a0a0"
  text[SELECTED]   = "#FFFFFF"
  text[ACTIVE]     = "#FFFFFF"
  text[PRELIGHT]   = "#000000"
  
#A semi-transparent hi-light for files selected in Nautilus
     NautilusIconContainer::highlight_alpha=255



engine "pixmap"
{ 

	# Tooltips
	#
    	image 
      	{
        	function        = FLAT_BOX
		recolorable     = TRUE
		detail          = "tooltip"
		file            = "tooltip.png"
		border          = { 2, 2, 2, 2 }
		stretch         = TRUE
      	}
      

	#This defines how the focus is drawn. 
    	image
      	{
        	function        = FOCUS
		recolorable     = TRUE	
		overlay_file    = "focus_overlay.png"
		overlay_border  = { 7, 7, 7, 7 }
		overlay_stretch = TRUE
      	}

	#The following four entries describe how the different types of shadows
	#are drawn
    	image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = OUT
		file            = "shadow_out.png"
		border          = { 3, 3, 3, 3}
		stretch         = TRUE
      	}	

    	image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = IN
		file            = "shadow_in.png"
		border          = { 3, 3, 3, 3}
		stretch         = TRUE
      	}	

        image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = ETCHED_IN
		file            = "shadow_etched_in.png"
		border          = { 3, 3, 3, 3}
		stretch         = TRUE
      	}	

        image 
      	{
       		function        = SHADOW
 		recolorable     = TRUE
		shadow          = ETCHED_OUT
		file            = "shadow_etched_out.png"
		border          = { 3, 3, 3, 3}
		stretch         = TRUE
      	}	

	#How to draw horizontal lines
    	image
      	{
        	function        = HLINE
		recolorable     = TRUE
		file            = "hline.png"
		border          = { 0, 0, 1, 1 }
		stretch         = TRUE
      	}	

	#How to draw vertical lines
    	image
      	{
        	function        = VLINE
		recolorable     = TRUE
		file            = "vline.png"
		border          = { 0, 0, 1, 1 }
		stretch         = TRUE
      	}	

		
	# The handles
		# is the orientation thing with some toolbars a bug of pixbuf engine?
	
    image {
      function        = HANDLE
			recolorable     = TRUE
			file ="handle_box.png"
      stretch=TRUE
			border = { 4, 4, 4, 4 }
      overlay_file    = "pane_splitter_vert.png"
			overlay_border  = { 0, 0, 0, 0 }
			overlay_stretch = FALSE
			orientation     = VERTICAL
		}
   	image 
      	{
			function        = HANDLE
			recolorable     = TRUE
			file ="handle_box.png"
      stretch=TRUE
			border = { 4, 4, 4, 4 }
			overlay_file    = "pane_splitter_vert.png"
			overlay_border  = { 0, 0, 0, 0 }
			overlay_stretch = FALSE
			orientation     = HORIZONTAL
     }
	
	}

}


#####################################################
# Panel
#####################################################
style "panel" {
  xthickness = 0
  ythickness = 0

  bg_pixmap[NORMAL] = "corrugated_whiteish.png"

	engine "pixmap" {
		image {
			function        = LAUNCHER
			recolorable     = TRUE
			file            = "tooltip.png"
			border          = { 2, 2, 2, 2 }
			stretch         = FALSE
		}
	}
}
class "Panel*" style "panel"

###########################################
# PanelTop	
# here we can change the appearance of the hide buttons
###########################################

style "PanelTop"
{

  engine "pixmap" 
  {
  	# The FLAT_BOX is used as handles background
    #image 
		#{
    #        function        = FLAT_BOX
    #        file            = "transparent.png"
    #        border          = { 3, 3, 3, 3}
    #        stretch         = TRUE
  	#}
  	
  	# the BOX is used for example by the hide buttons in the sub class GtkButton
		image 
		{
            function        = BOX
            file            = "button_normal.png"
            border          = {4, 4, 4, 4}
            stretch         = TRUE
  	}

	}
}
widget_class "PanelToplevel" style "PanelTop"
widget_class "PanelToplevel.*GtkButton" style "PanelTop"



#####################################################
# Panel buttons (eg tasklist bar)
#####################################################
style "panelappletbuttons" {
	xthickness=3
	ythickness=2
 	engine "pixmap" {

		image {
			function = BOX
			state = NORMAL
			file = "button_normal.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
		
		image {
			function = BOX
			state           = PRELIGHT
			file            = "button_prelight.png"
			border          = {4,4,4,4}
			overlay_file    = "prelight_overlay.png"
  		stretch         = TRUE
  		overlay_stretch = TRUE
		}

		image {
			function = BOX
			state           = ACTIVE
			file            = "button_push.png"
			border          = {4,4,4,4}
			stretch         = TRUE
		}
		
 			
	}
}
widget_class "*.PanelApplet.*ToggleButton" style "panelappletbuttons"
widget_class "*.PanelApplet.*GtkButton" style "panelappletbuttons"


#####################################################
# Buttons
#####################################################

style "button" {
	xthickness = 0
	ythickness = 0

	engine "pixmap" {
		
		image {
			function = BOX
			state = NORMAL
      detail = "buttondefault"
			file = "button_normal.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
                
		image {
			function = BOX
			state = NORMAL
			file = "button_normal.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
		
		image {
			function = BOX
			state           = PRELIGHT
			file            = "button_prelight.png"
      overlay_file    = "prelight_overlay.png"
			border          = {4,4,4,4}
			stretch         = TRUE
      overlay_stretch = TRUE
		}


		image {
			function = BOX
			state           = ACTIVE
			file            = "button_push.png"
			border          = {5,5,7,7}
			stretch         = TRUE
		}

    		image	{
        		function        = BOX
			state           = INSENSITIVE
			file            = "button_flat.png"
			border          = {4,4,4,4}
			stretch         = TRUE
      		}
   		
    		image 
      		{
        		function        = BOX
			state           = SELECTED
			file            = "button_prelight.png"
			border          = {4,4,4,4}
			stretch         = TRUE
      		}

	}
}
class "GtkButton" style "button"

################################################
# Paned Widgets
################################################

style "vignette-paned" = "vignette-default"
{
  #This section describes how panes are drawn. Panes are windows that are separated
  #into two parts by a horizontal or vertical divider. The instructions set here override
  #the instructions set above for how to draw handles.

  #xthickness = 5
  #ythickness = 5

  #This defines the thickness of the bar that divides the window.
  GtkPaned::handle_size = 10
  

  engine "pixmap"
  {
        # The handle on horizontal dividers
	image
	{
	  	function = HANDLE
		recolorable = TRUE
		file ="button_null.png"
		border          = { 4, 4, 4, 4 }
		stretch         = TRUE
		overlay_file = "pane_splitter_horiz.png"
		overlay_border = {0,0,0,0}
		overlay_stretch = FALSE
		orientation = HORIZONTAL
	}

	# The handle on vertical dividers
	image
	{
	  	function = HANDLE
		recolorable = TRUE
		
  		file ="button_null.png"
		border          = { 4, 4, 4, 4 }
		stretch         = TRUE
		overlay_file = "pane_splitter_vert.png"
		overlay_border = {0,0,0,0}
		overlay_stretch = FALSE
		orientation = VERTICAL
	}


  }
}

class "Gtk*Paned" style "vignette-paned"

###############################################
# Menu Bars
###############################################

style "vignette-menubar" {
	bg[NORMAL]       = "#fdfdf5"
	bg_pixmap[NORMAL]   = "corrugated_whiteish.png"
	font_name="Italics"
	xthickness = 2
	ythickness = 3

}
class "GtkMenuBar" style "vignette-menubar"


##############################################
# Toolbars
###############################################

style "vignette-toolbar" {
	bg[NORMAL]       = "#fafaf2"
	xthickness = 2
	ythickness = 3
}
class "GtkToolbar" style "vignette-toolbar"



###############################################
# Menus
###############################################

style "vignette-menu" {
	bg_pixmap[NORMAL]       = "corrugated_whiteish.png"

	xthickness = 3
	ythickness = 3

	engine "pixmap" {
        
		image {
            	function        = BOX
            	recolorable     = TRUE
            	file            = "menu_border.png"
            	border          = { 3, 3, 3, 3 }
            	stretch         = TRUE
       	}

 		image 
		{
      		function        = HLINE
			recolorable     = TRUE
			file            = "menu_hline.png"
			border          = { 0, 0,1, 1 }
			stretch         = TRUE
		}
	}
}
class "GtkMenu" style "vignette-menu"



###############################################
#  Menu Items
###############################################

style "MenuItem"
{
	fg[NORMAL]       = "#000000"
  fg[ACTIVE]       = "#FFFFFF"
  fg[PRELIGHT]     = "#FFFFFF"
  fg[SELECTED]     = "#FFFFFF"
  fg[INSENSITIVE]  = "#747474"
	xthickness = 2
	ythickness = 2
	text[INSENSITIVE]= "#747474"
  text[SELECTED]   = "#FFFFFF"
  text[ACTIVE]     = "#FFFFFF"
  text[PRELIGHT]   = "#FFFFFF"
	

  	engine "pixmap" 
	{

	#This image is used to draw the highlight on a menu entry when it is
	#moused over.
        image 
	    {
             function        = BOX
             recolorable     = TRUE
             file            = "menu_hilight.png"
             border          = { 3, 3, 3, 3 }
             stretch         = TRUE
      }
	}
}

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

###############################################
# Styles and Controls for Option Menus (combo)
###############################################

style "optionmenu" 
{
   engine "pixmap" {
       
	image {
            function        = BOX
            recolorable     = TRUE
	    state           = NORMAL
            file            = "combo_option.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
        }

        image {
            function        = TAB
            recolorable     = TRUE
            state           = NORMAL
            overlay_file    = "combo_option_arrow.png"
            overlay_stretch = FALSE
        }

        image {
            function        = BOX
            recolorable     = TRUE
	          state           = PRELIGHT
            file            = "combo_option_prelight.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "prelight_overlay.png"
						overlay_border  = { 0 ,0 ,0 ,0 }
						overlay_stretch = TRUE
        }

        image {
            function        = TAB
            recolorable     = TRUE
            state           = PRELIGHT
            overlay_file    = "combo_option_arrow.png"
            overlay_stretch = FALSE
        }
        
        image {
            function        = BOX
            recolorable     = TRUE
	    state           = INSENSITIVE
            file            = "combo_option_insensitive.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
        }

        image {
            function        = TAB
            recolorable     = TRUE
            state           = INSENSITIVE
            overlay_file    = "combo_option_arrow_insensitive.png"
            overlay_stretch = FALSE
        }
    
    }
	
}

widget_class "*OptionMenu*" style "optionmenu"
widget_class "*Option*Menu*" style "optionmenu"
widget_class "*GimpUnitMenu*" style "optionmenu"
widget_class "*Combo*" style "optionmenu"

#####################################################
#Notebook: How to draw the tabs, spacings, and backgrounds for notebooks.                    
#####################################################

style "notebook" {
 xthickness = 4
 ythickness = 3
	engine "pixmap" {

		# TOP
		# top background tabs
		image {
			function = EXTENSION
			state = ACTIVE
			gap_side = BOTTOM
			file = "tab_top_inactive.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		# top foreground tab
		image {
			function = EXTENSION
			gap_side = BOTTOM
			file = "tab_top_active.png"
			border = {8,8,8,8}
			stretch = TRUE
		}

#BOTTOM
image {
			function = EXTENSION
			state = ACTIVE
			gap_side = TOP
			file = "tab_bottom_inactive.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		# top foreground tab
		image {
			function = EXTENSION
			gap_side = TOP
			file = "tab_bottom_active.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		
#LEFT
image {
			function = EXTENSION
			state = ACTIVE
			gap_side = RIGHT
			file = "tab_left_inactive.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		# top foreground tab
		image {
			function = EXTENSION
			gap_side = RIGHT
			file = "tab_left_active.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		
		
#RIGHT
image {
			function = EXTENSION
			state = ACTIVE
			gap_side = LEFT
			file = "tab_right_inactive.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		# top foreground tab
		image {
			function = EXTENSION
			gap_side = LEFT
			file = "tab_right_active.png"
			border = {8,8,8,8}
			stretch = TRUE
		}
		

		# NOTEBOOK BORDERS
		# tabs on top
		image {

			function = BOX_GAP
			gap_side = TOP
			file = "notebook_border.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
		# tabs on bottom
		image {
			function = BOX_GAP
			gap_side = BOTTOM
			file = "notebook_border.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
		# tabs on left
		image {
			function = BOX_GAP
			gap_side = LEFT
			file = "notebook_border.png"
			border = {4,4,4,4}
			stretch = TRUE
		}
		# tabs on right
		image {
			function = BOX_GAP
			gap_side = RIGHT
			file = "notebook_border.png"
			border = {4,4,4,4}
			stretch = TRUE
		}

#
# How to draw the box of a notebook when it isnt attached to a tab
#
   

 image
      {
 
	function        = BOX
	recolorable     = TRUE
	file            = "notebook_border.png"
	border = {4,4,4,4}
	stretch         = TRUE
	gap_side	= TOP
      }
	}
}
class "GtkNotebook" style "notebook"

#####################################################
#     Text Entries
#####################################################

style "entry" 
{
	#GtkEntry::shadow_type = GTK_SHADOW_NONE
	GtkEntry::internal_padding = 8

	#In the default style we set this color to white because it sets the background color for
	#things like GtkText and GtkList, etc, which we want white. But here we set the background
	#color for GtkEntry to be light gray so that it blends in with things like toolbars. This causes a
	#problem for GtkEntry widgets that appear on, say, notebook tabs. It would be *great* if I 
	#knew how to make the base of a GtkEntry widget transparent so that it blended in with
	#whatever widget it sits on top of.
	base[NORMAL]     = "#f5f5ed"

	engine "pixmap" 
  		{
        image 
		        {
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = INSENSITIVE
        detail          = "entry_bg"
				file            = "text_entry.png"
				border		= {3,3,3,3 }
				stretch         = TRUE
      			}

    			image 
      			{
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = NORMAL
        			detail          = "entry_bg"
				file            = "text_entry.png"
				border		= {3,3,3,3 }
				stretch         = TRUE
      			}

			image 
      			{
				function        = FLAT_BOX
				recolorable     = TRUE
				state           = SELECTED
        detail          = "entry_bg"
				file            = "text_entry_selected.png"
				border		= { 3,3,3,3 }
				stretch         = TRUE
      			}


#This is a transparent shadow.
  			image 
      			{
        			function        = SHADOW
				recolorable     = TRUE
				shadow          = IN
				file            = "transparent.png"
				border          = { 1,1,1,1 }
				stretch         = TRUE
      			}				
			
	}
}

class "GtkEntry" style "entry"

###############################################
# Gtk Lists, like the Rhythmbox playlist or Nautilus Listview
###############################################
style "list-header"
{
   xthickness = 3
   ythickness = 2
   engine "pixmap" 
	{

	#This image is used to draw the headers of columns in list views when they are
	#not selected.
    	image
      		{
        		function        = BOX
			state 		=  NORMAL
                        recolorable     = TRUE
			shadow          = OUT
			file            = "list_head_normal.png"
			border          = { 4,4,4,4 }
			stretch         = TRUE
      		}

        #This image is used to draw the column headers in list views when they are
	#clicked.
    	image
      		{
        		function        = BOX
			state		= ACTIVE
                        recolorable     = TRUE
			shadow          = IN
			file            = "list_head_clicked.png"
			border          = { 4,4,4,4 }
			stretch         = TRUE
      		}

			image
      		{
       			function        = BOX
			state		    = PRELIGHT
			file            = "list_head_prelight.png"
			border          = { 4,4,4,4 }
			stretch         = TRUE
			overlay_file    = "prelight_overlay.png"
      overlay_stretch = TRUE
      		}

			image
      		{
       			function        = BOX
			state		    = INSENSITIVE
			file            = "list_head_insensitive.png"
			border          = { 4,4,4,4 }
			stretch         = TRUE
      		}
	
  	}
    	
}

widget_class "*List" style "list-header"
widget_class "*Tree*" style "list-header"
widget_class "GtkCList" style "list-header"


   
###########################################
# Scrollbars 
###########################################


style "Scrollbar" {

 	GtkRange::trough_border = 0
  GtkRange::slider_width = 15
  GtkRange::stepper_size = 15
	GtkScrollbar::min_slider_length = 24

	engine "pixmap" {

		image {
			function        = BOX
			recolorable     = TRUE
            detail          = "trough"
            file            = "trough_vertical.png"
            border          = { 0, 0, 39, 39 }
            stretch         = TRUE
            orientation     = VERTICAL
		}
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "trough_horizontal.png"
            border          = { 39, 39, 0, 0 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_horizontal.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
            overlay_file    = "scrollbar_horizontal_grip.png"
            overlay_border =  { 8, 8, 4, 4 }
						overlay_stretch = FALSE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_horizontal_prelight.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file            = "scrollbar_horizontal_grip.png"
						overlay_border =  { 8, 8, 4, 4 }
            overlay_stretch = FALSE
            orientation     = HORIZONTAL
        }
	   image {
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_horizontal.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
      

  image {
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "scrollbar_vertical.png"
            border          = {4, 4, 4, 4}
            stretch         = TRUE
            overlay_file    = "scrollbar_vertical_grip.png"
            overlay_border =  { 4, 4, 8, 8 }
						overlay_stretch = FALSE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_vertical_prelight.png"
            border          = { 4, 4, 4, 4}
            stretch         = TRUE
            overlay_file            = "scrollbar_vertical_grip.png"
            overlay_border =  { 4, 4, 8, 8 }
            overlay_stretch         = FALSE
            orientation     = VERTICAL
        }
	image {
            function        = SLIDER 
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "scrollbar_vertical.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
  

      image {
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL 
            file            = "scrollbar_vertical.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
						orientation     = VERTICAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_vertical_prelight.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
						orientation     = VERTICAL
        }

				image {
            function        = BOX
            recolorable     = TRUE
            state           = NORMAL 
            file            = "scrollbar_horizontal.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
						orientation     = HORIZONTAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "scrollbar_horizontal_prelight.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
						orientation     = HORIZONTAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            state           = ACTIVE
            file            = "button_push.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }
  image {
            function        = BOX
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "button_flat.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
        }


		image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "scroll_arrow_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "scroll_arrow_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "scroll_arrow_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= NORMAL
	overlay_file	= "scroll_arrow_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "scroll_arrow_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }

    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "scroll_arrow_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "scroll_arrow_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= PRELIGHT
	overlay_file	= "scroll_arrow_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }

	#insensitive
 image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= INSENSITIVE
	overlay_file	= "scroll_arrow_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }

    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		=INSENSITIVE
	overlay_file	= "scroll_arrow_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= INSENSITIVE
	overlay_file	= "scroll_arrow_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	state		= INSENSITIVE
	overlay_file	= "scroll_arrow_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }
# insensitive

    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "scroll_arrow_up.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= UP
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "scroll_arrow_down.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= DOWN
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "scroll_arrow_left.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= LEFT
      }
    image 
      {
	function	= ARROW
	recolorable	= TRUE
	shadow		= IN
	overlay_file	= "scroll_arrow_right.png"
	overlay_border	= { 0, 0, 0, 0 }
	overlay_stretch	= FALSE
	arrow_direction	= RIGHT
      }    

	}
}

class "GtkScrollbar" style "Scrollbar"

###########################################
# Scales: The sliders used for volume, track position, etc. Drawn without
#	     arrow boxes on the end.
###########################################

style "Scales" {

  GtkVScale::slider_length = 15
  GtkVScale::slider_width = 20
  GtkHScale::slider_length = 15
  GtkHScale::slider_width = 20

 engine "pixmap" {
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "slider_trough_vertical.png"
            border          = { 6, 6, 2, 2 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
        image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "slider_trough_horizontal.png"
            border          = { 2, 2, 6, 6 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "button_normal.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_horizontal_grip.png"
            overlay_border =  { 8, 8, 4, 4 }
						overlay_stretch = FALSE
            orientation     = HORIZONTAL
        }   
        image {
            function        = SLIDER 
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "button_prelight.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_horizontal_grip.png"
            overlay_border =  { 8, 8, 4, 4 }
						overlay_stretch = FALSE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "button_flat.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_horizontal_grip.png"
            overlay_border =  { 8, 8, 4, 4 }
						overlay_stretch = FALSE
            orientation     = HORIZONTAL
        }   
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = NORMAL
            file            = "button_normal.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_vertical_grip.png"
            overlay_border =  { 4, 4, 8, 8 }
						overlay_stretch = FALSE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = PRELIGHT
            file            = "button_prelight.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_vertical_grip.png"
            overlay_border =  { 4, 4, 8, 8 }
						overlay_stretch = FALSE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER
            recolorable     = TRUE
            state           = INSENSITIVE
            file            = "button_flat.png"
            border          = { 4, 4, 4, 4 }
            stretch         = TRUE
						overlay_file    = "slider_vertical_grip.png"
            overlay_border =  { 4, 4, 8, 8 }
						overlay_stretch = FALSE
            orientation     = VERTICAL
        }
    }

}

class "GtkScale" style "Scales"

##################################################
#Spin Controls             
##################################################

style "spin"
{
  engine "pixmap" 
   {

	    #First we set the images for drawing different parts of a text entry that
	    #might be attached to the widget. This could be done by inheriting from the
	    #style used for GtkEntry, but we just set everything here explicitly. Still having
	    #the same problem as with GtkEntry with the white outline if we do not draw
	    #a shadow with a thick enough border.

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= NORMAL
		detail		= "entry_bg"
		file			= "text_entry.png"
		border          	= {3,3,3,3 }
		stretch		= TRUE
	    }

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= ACTIVE
		detail		= "entry_bg"
		file			= "text_entry_selected.png"
		border          	= { 3,3,3,3 }
		stretch		= TRUE
	    }

	    image
	    {
	     	function		= FLAT_BOX
		recolorable	= TRUE
		state			= INSENSITIVE
		detail		= "entry_bg"
		file			= "text_entry_insensitive.png"
		border          	= {6,6,6,6 }
		stretch		= TRUE
	    }

  image 
      {
        function        = FOCUS
	recolorable     = TRUE
	overlay_file    = "focus_overlay.png"
	overlay_border  = { 2, 2, 2, 2 }
	overlay_stretch = TRUE
      }

	    image 
	    {
	        function        	= SHADOW
		recolorable     	= TRUE
		shadow          	= IN
		file            		= "null.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }
	

	    #The following two sections define the images used to draw the up and
	    #down spin buttons in the INSENSITIVE state.
	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		state			= INSENSITIVE
		detail		= "spinbutton_up"
		file            		= "spin_up_insens.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		state			= INSENSITIVE
		detail		= "spinbutton_down"
		file            		= "spin_down_insens.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }

	    #The following two sections define the images used to draw the up and
	    #down spin buttons in the PRELIGHT state.
	    image 
	    {
	        function        	= BOX
		recolorable  	= TRUE
		state			= PRELIGHT
		detail		= "spinbutton_up"
		file            		= "spin_up_pre.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable  	= TRUE
		state			= PRELIGHT
		detail		= "spinbutton_down"
		file            		= "spin_down_pre.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }

	    #The following two sections define the images used to draw the up and
	    #down spin buttons in any states that we have not already defined.
	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		detail		= "spinbutton_up"
		file            		= "spin_up.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }

	    image 
	    {
	        function        	= BOX
		recolorable     	= TRUE
		detail		= "spinbutton_down"
		file            		= "spin_down.png"
		border          	= { 0,0,0,0 }
		stretch         	= TRUE
	    }


	    #The arrows drawn on the spinbuttons are set by the next two
	    #entries. Different types of arrows can be used for different
	    #states by setting images for each state.

	    image 
	    {
		function	= ARROW
		recolorable	= TRUE
		overlay_file	= "spin_button_up_arrow.png"
		overlay_border	= { 0, 0, 0, 0 }
		overlay_stretch	= FALSE
		arrow_direction	= UP
      	    }

	    image 
	    {
		function	= ARROW
		recolorable	= TRUE
		overlay_file	= "spin_button_down_arrow.png"
		overlay_border	= { 0, 0, 0, 0 }
		overlay_stretch	= FALSE
		arrow_direction	= DOWN
      	    }
	}
}
	
class "GtkSpin*" style "spin"

############################################
# Check Boxes
# --------------
# This section tells GTK how to draw check boxes.
############################################

style "CheckBox" 
{

    engine "pixmap" 
    {
	#This is the image used to draw an unchecked box.
        image 
	{
            function        = CHECK
            recolorable     = TRUE
            state = NORMAL
            shadow          = OUT
            overlay_file    = "check_out.png"
            overlay_stretch = FALSE
        }

 image 
	{
            function        = CHECK
            recolorable     = TRUE
            state = PRELIGHT
            shadow          = OUT
            overlay_file    = "check_out_prelight.png"
            overlay_stretch = FALSE
        }

 image 
	{
            function        = CHECK
            recolorable     = TRUE
            state = ACTIVE
            shadow          = OUT
            overlay_file    = "check_out_push.png"
            overlay_stretch = FALSE
        }

 image 
	{
            function        = CHECK
            recolorable     = TRUE
            state = INSENSITIVE
            shadow          = OUT
            overlay_file    = "check_out_insens.png"
            overlay_stretch = FALSE
        }

	#This is the image used to draw a selected (checked) box.
        image 
	{
            function        = CHECK
            recolorable     = TRUE
	    state = NORMAL
            shadow          = IN
            overlay_file    = "check_in.png"
            overlay_stretch = FALSE
        }

  image 
	{
            function        = CHECK
            recolorable     = TRUE
	    state = PRELIGHT
            shadow          = IN
            overlay_file    = "check_in_prelight.png"
            overlay_stretch = FALSE
        }

 image 
	{
            function        = CHECK
            recolorable     = TRUE
	    state = ACTIVE
            shadow          = IN
            overlay_file    = "check_in_push.png"
            overlay_stretch = FALSE
        }


     image 
	{
            function        = CHECK
            recolorable     = TRUE
	    state = INSENSITIVE
            shadow          = IN
            overlay_file    = "check_in_insens.png"
            overlay_stretch = FALSE
        }

	#Use this image to draw the highlight when a line with a check box
	#is moused over.
	image 
	{
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "prelight_overlay.png"
            border          = { 1, 1, 1, 1 }
        }

    }
}

class "GtkCheckButton" style "CheckBox"

############################################
# Radio Buttons 
############################################

style "RadioButton" 
{

    engine "pixmap" 
    {

	image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = NORMAL
            shadow          = OUT
            overlay_file    = "option_out.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = PRELIGHT
            shadow          = OUT
            overlay_file    = "option_out_prelight.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = ACTIVE
            shadow          = OUT
            overlay_file    = "option_out_push.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = INSENSITIVE
            shadow          = OUT
            overlay_file    = "option_out_insens.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

        image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = NORMAL
            shadow          = IN
            overlay_file    = "option_in.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

     image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = PRELIGHT
            shadow          = IN
            overlay_file    = "option_in_prelight.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

     image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = ACTIVE
            shadow          = IN
            overlay_file    = "option_in_push.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

     image 
	{
            function        = OPTION
            recolorable     = TRUE
	    state = INSENSITIVE
            shadow          = IN
            overlay_file    = "option_in_insens.png"
            overlay_border  = { 0, 0, 0, 0 }
            overlay_stretch = FALSE
        }

	#Use this image to draw the highlight when a line with a radio box
	#is moused over.
	image 
	{
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "prelight_overlay.png"
            border          = { 1, 1, 1, 1 }
        }

    }
}

class "GtkRadioButton" style "RadioButton"

################################################
# Statusbars Drawn by gtk (info bar on the bottom of the window)
################################################
style "vignette-GtkStatusbar" = "vignette-default"
{

	xthickness=3
	ythickness=2
	GtkStatusbar::shadow_type = GTK_SHADOW_NONE

	engine "pixmap" 
	{

	#This does not seem to be working. It seems that you can tell gtk how
	#to draw the resizing grip in the bottom right corner of the window, which
	#seems to be part of the status bar. Not sure why it is not working.
	    image
	    {
	     	function		= RESIZE_GRIP
				recolorable	= TRUE
				state			= NORMAL
				detail		= "statusbar"
				overlay_file			= "null.png"
		
				overlay_border          	= {1,1,1,1 }
				overlay_stretch		= FALSE
	    }
	    
	    
	    image
	    {
				function = BOX
				file= "menu_hilight.png"
				stretch=FALSE
			}
	    
	    
	}
}

class "GtkStatusbar" style "vignette-GtkStatusbar"

################################################
# Statusbar buttons
################################################

style "statusbar_button"
{

 engine "pixmap" 
  {

		image 
    {
			function        				= BOX
			state									  = NORMAL
			file            				="button_flat.png"
			border          				=  { 4,4,4,4}
			stretch         					= TRUE
		}
		
		image 
    {
			function        				= BOX
			state											= PRELIGHT
			file            							=  "button_null.png"
			border          				=   { 4,4,4,4}
			stretch         					= TRUE
			overlay_file = "prelight_overlay.png"
			overlay_stretch = TRUE
		}
		
		image 
    {
			function        				= BOX
			state											= ACTIVE
			file            							=  "button_null.png"
			border          				=   { 4,4,4,4}
			stretch         					= TRUE
		}
		
		image 
    {
			function        				= BOX
			state											= INSENSITIVE
			file            							=  "button_flat.png"
			border          				=  { 4,4,4,4}
			stretch         					= TRUE
		}
		
	}
}
 
 widget_class "*Statusbar*Button*" style "statusbar_button"
 widget_class "*AppBar*Button*" style "statusbar_button"


###########################################
#Progress Bars
###########################################

style "ProgressBar" {
	#Watch out: changing thickness displaces the bar inside the trough
	xthickness = 2
  ythickness = 2
   
 	engine "pixmap" {
		image {
			      function        = BOX
            recolorable     = TRUE
            detail          = "bar"
            file            = "progressbar.png"
	    	    border          = { 5, 5, 5, 5}
            stretch         = TRUE
		}
    image {
            function        = BOX
            recolorable     = TRUE
            detail          = "trough"
            file            = "progress_trough.png"
            border          = { 5, 5, 5, 5}
            stretch         = TRUE
            #orientation     = HORIZONTAL
        }
    }
}

class "GtkProgressBar" style "ProgressBar"

###########################################
#GtkFrame	
###########################################

style "Frames"
{
  #xthickness = 1
  #ythickness = 1

  engine "pixmap" 
  {
        image 
	{
            function        = FLAT_BOX
            recolorable     = TRUE
            file            = "menu_hilight.png"
            border          = { 3, 3, 3, 3}
            stretch         = TRUE
        }

    }
}
#widget_class "*GtkFrame.*"         style "Frames"



################################################
# Text Widgets
################################################
style "vignette-Text" = "vignette-default"
{
  base[NORMAL] = "#FFFFFF"
	fg[PRELIGHT] = "#FFFFFF"
}

class "GtkTextView" style "vignette-Text"
class "GtkScrolledWindow" style "vignette-Text"


#Widgets that have not been defined yet
class "GtkWidget" style "vignette-default"


