# Ubuntu Homosapien Colorscheme
#
# Authors:
# Kenneth Wimer <kwwii@ubuntu.com>
# Conn O'Griofa <connogriofa@gmail.com>
# James Schriver <jws141@gmail.com>
# Requires Murrine GTK Engine v0.91.0

# Feel free to modify and share!

gtk_color_scheme = "fg_color:#101010\nbg_color:#EFEBE7\nbase_color:#FFF\ntext_color:#1A1A1A\nselected_bg_color:#A97660\nselected_fg_color:#FFF\ntooltip_bg_color:#F5F5B5\ntooltip_fg_color:#000"

gtk-icon-sizes = "panel-menu=24,24:gtk-button=16,16"

style "murrine-default"
{
	xthickness = 1
	ythickness = 1

	GtkScrolledWindow ::scrollbar-spacing = 0
	GtkScrolledWindow ::scrollbar-within-bevel = 0
	
	GtkButton::child-displacement-x = 1
	GtkButton::child-displacement-y = 1
	GtkButton::default-border = { 0, 0, 0, 0 }

	GtkCheckButton::indicator-size = 14

	GtkPaned::handle-size = 6

	GtkRange::trough-border = 1
	GtkRange::slider-width = 12
	GtkRange::stepper-size = 12
  	GtkRange::trough-under-steppers = 1

	GtkScale::slider-length = 18
	GtkScale::trough-side-details = 1

	GtkScrollbar::min-slider-length = 30
	GtkMenuBar::internal-padding = 0
	GtkExpander::expander-size = 15
	GtkToolbar::internal-padding = 1
	GtkTreeView::expander-size = 15
	GtkTreeView::vertical-separator = 0

	GtkMenu::horizontal-padding = 0
	GtkMenu::vertical-padding = 0
#	GtkMenuBar::shadow_type = GTK_SHADOW_NONE
#	GtkToolbar::shadow_type = GTK_SHADOW_NONE

	WnckTasklist::fade-overlay-rect = 0
	# The following line hints to gecko (and possibly other appliations)
	# that the entry should be drawn transparently on the canvas.
	# Without this, gecko will fill in the background of the entry.
	GtkEntry::honors-transparent-bg-hint = 1

  	GtkEntry::progress-border = { 2, 2, 2, 2 }


	fg[NORMAL]        = @fg_color
	fg[PRELIGHT]      = @fg_color
	fg[ACTIVE]        = @fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[INSENSITIVE]   = shade (0.65, @bg_color)

	bg[NORMAL]        = @bg_color
	bg[PRELIGHT]      = shade (1.02, @bg_color)
	bg[ACTIVE]        = shade (0.88, @bg_color)
	bg[SELECTED]	  = @selected_bg_color
	bg[INSENSITIVE]   = @bg_color

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = shade (1.12, @selected_bg_color)
	base[SELECTED]    = shade (1.06, @selected_bg_color)
	base[INSENSITIVE] = @bg_color

	text[NORMAL]      = @text_color
	text[PRELIGHT]    = @text_color
	text[ACTIVE]      = @selected_fg_color
	text[SELECTED]    = @selected_fg_color
	text[INSENSITIVE] = shade (0.65, @bg_color)

	engine "murrine" 
	{
		animation           = TRUE  # FALSE = disabled, TRUE = enabled
		arrowstyle          = 1
		border_shades       = { 1.2, 1.0} # draw a gradient on the border.
#		border_colors       = { "#E6DDD5", "#E6DDD5" } 
		colorize_scrollbar  = FALSE  # FALSE = disabled, TRUE = enabled
		comboboxstyle       = 0 # colorize the GtkComboBox below the arrow.
		contrast            = .85  # 0.8 for less contrast, more than 1.0 for more contrast on borders
#		focus_color         = @selected_bg_color
		glazestyle          = 5     # 0 = flat, 1 = curved, 2 = concave, 3 = top-curved, 4 = beryl
		glow_shade          = 1.20  # sets glow amount for buttons or widgets
		glowstyle           = 0     # 0 = top, 1 = bottom, 2 = top and bottom, 3 = center (vertical), 4 = center (horizontal) 
		gradient_shades     = { 1.00, 0.94, 0.94, 0.85 }# default: {1.1,1.0,1.0,1.1}
		highlight_shade     = 1.0   # set highlight amount for buttons or widgets
		lightborder_shade   = 1.2   # sets lightborder amount for buttons or widgets
		lightborderstyle    = 1     # 0 = lightborder on top side, 1 = lightborder on all sides
		listviewheaderstyle = 1     # 0 = flat, 1 = glassy, 2 = raised
		listviewstyle       = 0     # 0 = nothing, 1 = dotted
		menubaritemstyle    = 1     # 0 = menuitem look, 1 = button look
		menubarstyle        = 2     # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
		menuitemstyle       = 1     # 0 = flat, 1 = glassy, 2 = striped
		menustyle           = 0     # 0 = no vertical menu stripe, 1 = display vertical menu stripe
		prelight_shade 	    = 1.06  #to select the shade level used in the scrollbar's slider, GtkComboBox with comboboxstyle = 1 and in the prelight state with gradient_colors.
 		progressbarstyle    = 0     # 0 = no stripes, 1 = diagonal stripes, 2 = vertical stripes 
		reliefstyle	    = 4     # 0 = flat, 1 = inset, 2 = shadow
		rgba		    = TRUE # FALSE = disabled, TRUE = enabled
		roundness           = 2     # 0 = squared, 1 = old default, more will increase roundness
		scrollbarstyle      = 0     # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
		shadow_shades 	    = { 0.8, 2.2 }
		sliderstyle         = 0     # 0 = nothing added, 1 = handles
		spinbuttonstyle     = 1
		stepperstyle        = 1     # 0 = standard, 1 = integrated stepper handles, 2 = squared steppers with a rounded slider
#		textstyle 	    = 1
		trough_shades 	    = {1.1,0.87}
		toolbarstyle	    = 1     # 0 = flat, 1 = glassy, 2 = gradient
	}
}


style "murrine-wide"
{
	xthickness = 2
	ythickness = 2
}

style "murrine-wider"
{
	xthickness = 3
	ythickness = 3
}

style "murrine-button" = "murrine-wider"
{
	GtkWidget	::focus-line-width = 0
	GtkWidget	::focus-padding	= 2

	xthickness = 3
	ythickness = 3

	engine "murrine"
	{
		gradient_shades	= { 1.1, 1.0, 1.0, 0.9 }
		contrast = 1.0
		reliefstyle = 0
		focus_color = shade (1.0, @bg_color)
	}
}

style "murrine-notebook"
{
	bg[NORMAL] = shade (1.05, @bg_color)
	bg[ACTIVE] = shade (0.96, @bg_color)

	engine "murrine" 
	{
		gradient_shades = {1.1,1.06,0.92,0.85} # { 1.1, 1.02, 0.97, 0.93 }
	}
}

style "murrine-tasklist" = "murrine-wide"
{
}

style "murrine-menu" = "murrine-wider"
{
	bg[NORMAL] = shade (1.05, @bg_color)
	fg[PRELIGHT] = @selected_fg_color
}

style "murrine-menubar"
{
	fg[PRELIGHT] = @selected_fg_color
}

style "murrine-menu-item" = "murrine-wider"
{
	bg[PRELIGHT] = shade (1.02, @selected_bg_color)
	bg[SELECTED] = shade (1.02, @selected_bg_color)

	engine "murrine" 
	{
		highlight_shade  = 1.03
	}
}

style "murrine-separator-menu-item"
{
}

style "murrine-treeview"
{
}

style "murrine-treeview-header" = "murrine-default"
{
}

style "murrine-frame-title"
{
}

style "murrine-tooltips" 
{
	xthickness = 8
 	ythickness = 4
 
	GtkWidget::new-tooltip-style = 1

 	bg[NORMAL] = @tooltip_bg_color
 	fg[NORMAL] = @tooltip_fg_color
}

style "murrine-progressbar"
{
	xthickness = 0
	ythickness = 0

	fg[PRELIGHT] = @selected_fg_color

	engine "murrine" 
	{
		highlight_shade = 1.05
	}
}

style "murrine-statusbar"
{
}

style "murrine-comboboxentry"
{
}

style "murrine-spinbutton"
{
}

style "murrine-scale"
{
	GtkRange::slider-width = 13

	engine "murrine" 
	{
		highlight_shade = 1.05
	}
}

style "murrine-hscale"
{
}

style "murrine-vscale"
{
}

style "murrine-scrollbar"
{
	engine "murrine"
	{
		border_shades = { .7, .7} # draw a gradient on the border.
		border_colors = { @bg_color, @bg_color } 
		glazestyle = 4     # 0 = flat, 1 = curved, 2 = concave, 3 = top-curved, 4 = beryl
		glow_shade = 1.1   # sets glow amount for buttons or widgets
		glowstyle = 4     # 0 = top, 1 = bottom, 2 = top and bottom, 3 = center (vertical), 4 = center (horizontal) 
		gradient_shades = {1.02,1.01,0.96,0.95} # default: {1.1,1.0,1.0,1.1}
		highlight_shade = 1.05   # set highlight amount for buttons or widgets
		lightborder_shade = 1.3   # sets lightborder amount for buttons or widgets
		roundness = 4
	}

	bg[NORMAL] = shade (.8, @bg_color)
	bg[PRELIGHT] = shade (.9, @bg_color)
}

style "murrine-hscrollbar"
{
}

style "murrine-vscrollbar"
{
}

style "murrine-nautilus-location"
{
	bg[NORMAL] = @selected_bg_color
}

style "metacity-frame"
{
}

style "murrine-radiocheck"
{
	text[NORMAL] = @selected_fg_color
	text[PRELIGHT] = @selected_fg_color
	bg[SELECTED] = @selected_bg_color # HACK: override button selection colour
}

style "murrine-panel"
{
}

###################################################
# Nautilus
###################################################

style "nautilus-sidebar" {
	
	bg[PRELIGHT] = mix(0.30, @bg_color, shade (1.27, @selected_bg_color))

	font_name = "Regular"

        GtkTreeView::even_row_color = @bg_color
  	
	# Make the sep line fade out
  	engine "pixmap"
  	{
      	image
      	{
      		function		= HLINE
     		recolorable		= TRUE
      		file			= "Lines/line-h-faded.png"
      		stretch			= TRUE
     	}
      
      # Make the handle be a vert line in order to better separate nautilus files view
      ## vertical handle
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state          		= NORMAL
       	  	overlay_file		= "Others/null.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state          		= PRELIGHT
       	  	overlay_file		= "Others/null.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state          		= ACTIVE
       	  	overlay_file		= "Panel/handle-v-pressed.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state         		= INSENSITIVE
       	  	overlay_file		= "Panel/handle-v-insens.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
      
 }
}
style "nautilus-view" = "default"
{
	#xthickness = 8	
}

style "nautilus-sidebar-title"
{
	fg[NORMAL] = mix(0.50, shade (0.63,@bg_color), shade (0.63, @selected_bg_color))
	fg[PRELIGHT] = shade (0.65, @selected_bg_color)
	bg[PRELIGHT] = mix(0.30, @bg_color, shade (1.27, @selected_bg_color))
	
	stock["gtk-close"] = {{ "Others/null.png", *, *, * }} # Get rid of the close icon

	font_name = "semibold"

	GtkExpander::expander_spacing = 0
   	GtkArrow::arrow-scaling = 0.6 # allowed: 0.1 ~ 1.0 (0.6 is an approximation to get 9 by 9 pixels arrow)
   	GtkButton::image-spacing = 0
   	GtkButton::inner-border = {0, 0, 4, 0}
	GtkButton::child-displacement-x = 0
	GtkButton::child-displacement-y = 0
	GtkButton::default-border = { 0, 0, 0, 0 }
	
 	xthickness = 2
  	ythickness = 0	
	

	
	engine "pixmap"
	{
		image
		{
		    	function 	= SHADOW
		}
		image
		{
		    	function 	= BUTTON
		    	file		= "Others/null.png" # 1x1 pixel empty, transparent
		}
            	image
		{
			function 	= ARROW
            		arrow_direction = DOWN
           		border 		= {0,0,0,0}
           		stretch 	= TRUE
           		recolorable 	= TRUE
		   	file 		= "Others/arrow-d.png" # this should be 9x9 pixels, arrow down
		}
	}
}

style "nautilus-handle"
{
  engine "pixmap"
  {
      # TODO: Make the handle be a vert line in order to better separate nautilus files view
      ## vertical handle
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state                   = NORMAL
       	  	overlay_file		= "Others/null.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state          		= PRELIGHT
       	  	overlay_file		= "Others/null.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state         		= ACTIVE
       	  	overlay_file		= "Panel/handle-v-pressed.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
    	image
    	{
    	  	function		= HANDLE
    	  	recolorable		= TRUE
    	  	state          		= INSENSITIVE
       	  	overlay_file		= "Panel/handle-v-insens.png"
     	  	overlay_stretch		= FALSE
      	  	orientation		= VERTICAL
    	}
      
    }
}

#########################################
# Matches
#########################################

# Theme default style is applied to every widget
class "GtkWidget"    					style "murrine-default"

# Increase the x/ythickness in some widgets
class "GtkToolbar"   					style "murrine-default" 
class "GtkRange"     					style "murrine-wide"
class "GtkFrame"     					style "murrine-wide"
class "GtkSeparator" 					style "murrine-wide"
class "GtkEntry"     					style "murrine-wider"

class "GtkSpinButton"  					style "murrine-spinbutton"
class "GtkScale"       					style "murrine-scale"
class "GtkVScale"      					style "murrine-vscale"
class "GtkHScale"      					style "murrine-hscale"
class "GtkScrollbar"   					style "murrine-scrollbar"
class "GtkVScrollbar"  					style "murrine-vscrollbar"
class "GtkHScrollbar"  					style "murrine-hscrollbar"

class "GtkRadio*"                        		style:highest "murrine-radiocheck" # HACK: override button selection colour
class "GtkCheck*"                           		style:highest "murrine-radiocheck" # HACK: override button selection colour

# Use this to customize Metacity colours (causes issues with KDE/gtk-window-decorator)
class "MetaFrames" 					style "metacity-frame"
#class "GtkWindow"    			    		style "metacity-frame"


# General matching following, the order is choosen so that the right styles override each other
# eg. progressbar needs to be more important then the menu match.

# This is not perfect, it could be done better
# (That is modify *every* widget in the notebook, and change those back that
# we really don't want changed)
widget_class "*<GtkNotebook>*<GtkEventBox>"     	style "murrine-notebook"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"		style "murrine-notebook"
widget_class "*<GtkNotebook>*<GtkLayout>"       	style "murrine-notebook"
widget_class "*<GtkNotebook>*<GtkViewport>"		style "murrine-notebook"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>"	style "murrine-notebook"

widget_class "*<GtkButton>"      			style "murrine-button"
widget_class "*<GtkNotebook>"    			style "murrine-notebook"
widget_class "*<GtkStatusbar>*"  			style "murrine-statusbar"

widget_class "*<GtkComboBoxEntry>*"			style "murrine-comboboxentry"
widget_class "*<GtkCombo>*"         			style "murrine-comboboxentry"

widget_class "*<GtkMenuBar>*"           		style "murrine-menubar"
widget_class "*<GtkMenu>*"              		style "murrine-menu"
widget_class "*<GtkMenuItem>*"          		style "murrine-menu-item"
widget_class "*<GtkSeparatorMenuItem>*" 		style "murrine-separator-menu-item"

widget_class "*.<GtkFrame>.<GtkLabel>" 			style "murrine-frame-title"
widget_class "*.<GtkTreeView>*"        			style "murrine-treeview"

widget_class "*<GtkProgress>"				style "murrine-progressbar"
widget_class "*<GtkProgressBar>"       			style "murrine-progressbar"

# Treeview header
widget_class "*.<GtkTreeView>.<GtkButton>" 		style "murrine-treeview-header"
widget_class "*.<GtkCTree>.<GtkButton>"    		style "murrine-treeview-header"
widget_class "*.<GtkList>.<GtkButton>"     		style "murrine-treeview-header"
widget_class "*.<GtkCList>.<GtkButton>"    		style "murrine-treeview-header"

# Workarounds for Evolution
widget_class "*.ETable.ECanvas"    			style "murrine-treeview-header"
widget_class "*.ETree.ECanvas"    			style "murrine-treeview-header"

############################################
# NAUTILUS
############################################

#widget "*Nautilus*Splitter"                     style "nautilus-handle"
widget_class "*Nautilus*View*"                  style "nautilus-view"
widget_class "*NautilusSidePane.*"              style "nautilus-sidebar-title"
widget_class "*Nautilus*Places*Sidebar*"        style "nautilus-sidebar"
widget_class "*Nautilus*Side*.GtkWidget"        style "nautilus-sidebar"
widget_class "*Nautilus*Side*Title*"            style "nautilus-sidebar-title"

# The window of the tooltip is called "gtk-tooltip"
################################
# FIXME:
# This will not work if one embeds eg. a button into the tooltip.
# As far as I can tell right now we will need to rework the theme
# quite a bit to get this working correctly.
# (It will involve setting different priorities, etc.)
################################
widget "gtk-tooltip" 			style "murrine-tooltips"

###################################################
# Special cases and work arounds
###################################################

# Special case the nautilus-extra-view-widget
# ToDo: A more generic approach for all applications that have a widget like this.
widget "*.nautilus-extra-view-widget" 		style : highest "murrine-nautilus-location"

# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
# Note that the work around assumes that the combobox is _not_ in
# appears-as-list mode.
# Similar hack also in the menuitem style.
# This style does not affect GtkComboBoxEntry, it does have an effect
# on comboboxes in appears-as-list mode though.
style "murrine-combobox-text-color-workaround"
{
	text[NORMAL]      = @fg_color
	text[PRELIGHT]    = @fg_color
	text[ACTIVE]      = @fg_color
	text[SELECTED]    = @selected_fg_color
	text[INSENSITIVE] = shade (0.65, @bg_color)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"		style "murrine-combobox-text-color-workaround"

style "murrine-menuitem-text-is-fg-color-workaround"
{
	text[NORMAL]        = @fg_color
	text[PRELIGHT]      = @selected_fg_color
	text[ACTIVE]        = @fg_color
	text[SELECTED]      = @selected_fg_color
	text[INSENSITIVE]   = shade (0.65, @bg_color)
}

widget "*.gtk-combobox-popup-menu.*"   			style "murrine-menuitem-text-is-fg-color-workaround"

# Work around the usage of GtkLabel inside GtkListItems to display text.
# This breaks because the label is shown on a background that is based on the
# base color set.
style "murrine-fg-is-text-color-workaround"
{
	fg[NORMAL]      = @text_color
	fg[PRELIGHT]    = @text_color
	fg[ACTIVE]      = @selected_fg_color
	fg[SELECTED]    = @selected_fg_color
	fg[INSENSITIVE] = shade (0.65, @bg_color)
}

widget_class "*<GtkListItem>*" 				style "murrine-fg-is-text-color-workaround"

# The same problem also exists for GtkCList and GtkCTree
# Only match GtkCList and not the parent widgets, because that would also change the headers.
widget_class "*<GtkCList>" 				style "murrine-fg-is-text-color-workaround"

style "murrine-evo-new-button-workaround"
{

	engine "murrine"
	{
		toolbarstyle = 0
	}
}

widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround"

# Theme panel elements
widget "*PanelWidget*" 				style "murrine-panel"
widget "*PanelApplet*" 				style "murrine-panel"
widget "*fast-user-switch*"			style "murrine-panel" # workaround for Fast User Switch applet
class "PanelApp*" 				style "murrine-panel"
class "PanelToplevel*" 				style "murrine-panel"
widget_class "*Mail*" 				style "murrine-panel"
widget_class "*notif*" 				style "murrine-panel"
widget_class "*Notif*" 				style "murrine-panel"
