# Espresso
# by Jesse L. Kay
# Last Revision: v0.1, 15 October 2009

# Color Scheme
# This is the basic color scheme of the theme.  These are the colors that can be changed witing the Gnome Appearance Properties dialog.

gtk_color_scheme = "fg_color:#242b2e\nbg_color:#e0d9bf\nbase_color:#f6f5e7\ntext_color:#3a3a3a\nselected_bg_color:#6b9174\nselected_fg_color:#f7f7f7\ntooltip_bg_color:#F5F5B5\ntooltip_fg_color:#000\nframe_color:#333333\ninactive_frame_color:#333333"


gtk-icon-sizes = "panel-menu=16,16 : gtk-menu=16,16 : gtk-button=16,16 : gtk-small-toolbar=16,16 : gtk-large-toolbar=24,24 : gtk-dialog=32,32 : gtk-dnd=32,32"


# Base Settings
# These are the default settings for all widgets used in the theme.  They are only overriden by specific settings later on in the theme.

style "murrine-default" {
	
	# Style Properties
	GtkButton		::child-displacement-x 	   = 0
	GtkButton		::child-displacement-y 	   = 0
	GtkButton		::default-border       	   = { 0, 0, 0, 0 }
	GtkCheckButton		::indicator-size    	   = 14

	GtkPaned		::handle-size       	   = 6

	GtkRange		::trough-border     	   = 1
	GtkRange		::slider-width      	   = 10
	GtkRange		::stepper-size      	   = 13

	GtkScale		::slider-length      	   = 16
	GtkScale		::slider-width        	   = 12
	GtkScale		::stepper-size		   = 13
	GtkScale		::trough-side-details      = 0
	GtkScrollbar		::min-slider-length    	   = 30

	GtkMenuBar		::internal-padding         = 4
	GtkExpander		::expander-size            = 16
	GtkToolbar		::internal-padding         = 1
	GtkTreeView		::expander-size            = 12
	GtkTreeView		::vertical-separator       = 0


	GtkMenu			::horizontal-padding       = 4
	GtkMenu			::vertical-padding         = 4

    	GtkScrolledWindow	::scrollbar-spacing  	   = 3
    
    	GtkNotebook		::tab-curvature 	   = 3
    	GtkNotebook:		:tab-overlap 		   = 4

	# Glow the tasklist by changing the color, instead of overlaying it with a rectangle
	WnckTasklist   		::fade-overlay-rect	   = 0
    	#WnckTasklist   	::fade-loop-time 	   = 5.0
    	#WnckTasklist  		::fade-opacity 		   = 0.7

	xthickness = 0
	ythickness = 0

	fg[NORMAL]        = @fg_color 
	fg[PRELIGHT]      = @fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[ACTIVE]        = @fg_color
	fg[INSENSITIVE]   = darker (@bg_color)

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

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = shade (0.75, @bg_color)
	base[SELECTED]    = @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] = darker (@bg_color)
	

	engine "murrine" 
		{
		animation           = TRUE  # FALSE = disabled, TRUE = enabled
		colorize_scrollbar  = TRUE # FALSE = disabled, TRUE = enabled
		contrast            = 0.8   # 0.8 for less contrast, more than 1.0 for more contrast on borders
		glazestyle          = 0     # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight
		gradient_shades     = {1.09,1.01,1.01,0.9} # default: {1.1,1.0,1.0,1.1}
		highlight_shade     = 1.0  # set highlight amount for buttons or widgets
		lightborder_shade   = 1.3   # sets lightborder amount for buttons or widgets
		lightborderstyle    = 1     # 0 = lightborder on top side, 1 = lightborder on all sides
		listviewheaderstyle = 2     # 0 = flat, 1 = glassy, 2 = raised
		listviewstyle       = 1     # 0 = nothing, 1 = dotted
		menubaritemstyle    = 0     # 0 = menuitem look, 1 = button look
		menubarstyle        = 0     # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
		menuitemstyle       = 0     # 0 = flat, 1 = glassy, 2 = striped
		menustyle           = 0     # 0 = no vertical menu stripe, 1 = display vertical menu stripe
		reliefstyle	     = 0     # 0 = flat, 1 = inset, 2 = shadow
		rgba		     = FALSE  # FALSE = disabled, TRUE = enabled
		roundness           = 0     # 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
		sliderstyle         = 0     # 0 = nothing added, 1 = handles
		stepperstyle        = 1     # 0 = standard, 1 = integrated stepper handles, 2 = unknown
#		style		    = MURRINE # engine style options: CANDIDO, CLEARLOOKS, MIST, MURRINE, NODOKA
		toolbarstyle	    = 0     # 0 = flat, 1 = glassy, 2 = gradient
	 	arrowstyle 	    = 1
		shadow_shades       = { 1.09, 1.09 }
		spinbuttonstyle     = 1
#		trough_shades       = { 1.1, 0.9 }
		comboboxstyle       = 0
	}
}

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

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

style "murrine-entry" = "murrine-wider" {

	bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color)
	fg[SELECTED] = @text_color

	engine "murrine" {
		focus_color = shade (0.65, @selected_bg_color)
	}
}

style "murrine-dark"
{
	bg[NORMAL]	= "#ff0000"
	bg[SELECTED]    = shade(0.9,@selected_bg_color)
	bg[PRELIGHT]    = shade (0.5, @selected_bg_color)
	bg[ACTIVE]	= mix (0.5, @selected_bg_color, shade(0.2,@bg_color))
	bg[INSENSITIVE] = shade(0.2,@bg_color)
	
	text[NORMAL]    = "#ffffff"
	
	fg[NORMAL]      = mix (0.9,  '#ffffef', @fg_color)
	fg[PRELIGHT]    = mix (0.8,  '#ffffef', @fg_color)
	fg[SELECTED]    = mix (0.8,  '#ffffef', @fg_color)
	fg[ACTIVE]      = mix (0.8,  '#ffffef', @fg_color)
	fg[INSENSITIVE] = mix (0.4,  '#ffffef', @fg_color)	
}

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

	text[NORMAL]    = "#000000"
	text[PRELIGHT]  = shade (0.20, @bg_color)
	text[ACTIVE]    = "#000000"

	bg[NORMAL]      = @bg_color
	bg[PRELIGHT]    = shade (1.20, @bg_color)
	bg[ACTIVE]      = @bg_color

}

style "murrine-toolbar"
{	
	bg[SELECTED]    = @bg_color
	bg[NORMAL]      = @bg_color
	bg[PRELIGHT]    = @bg_color
	bg[ACTIVE]      = @bg_color
	
	fg[NORMAL]      = @fg_color
	fg[ACTIVE]      = @fg_color
	fg[PRELIGHT]    = @fg_color

	engine "murrine"{
		gradient_shades = {1.0,0.9,0.9,0.75}
	}
}

style "murrine-notebook-bg" = "murrine-default"
{
	bg[NORMAL] = shade (1.05, @bg_color)
	bg[ACTIVE] = shade (0.95, @bg_color)
	xthickness = 0
}

style "murrine-notebook" = "murrine-notebook-bg"

{
	xthickness = 0
}
 
style "murrine-tasklist"
{
	xthickness = 0
	ythickness = 0
}
 
style "murrine-menu"
{
	xthickness = 2
	ythickness = 2

	bg[NORMAL]   = @bg_color
	text[NORMAL] = "#00ff00"
	text[PRELIGHT]	= "#ff0000"

	engine "murrine" {
	    roundness = 0
	    highlight_shade     = 1.04
	}

}

style "murrine-menu-item"
{
	xthickness = 2
	ythickness = 2

	bg[NORMAL]   = "#ccc2a1"
	text[NORMAL] = @fg_color
	text[PRELIGHT]	= @selected_fg_color

	engine "murrine" {
	    roundness = 0
	    highlight_shade     = 1.04
	}
}

style "murrine-separator-menu-item"
{
	GtkSeparatorMenuItem::horizontal-padding = 0
	GtkWidget::wide-separators = 1
	GtkWidget::separator-width = 1
	GtkWidget::separator-height = 1
	xthickness = 1
	ythickness = 0

	engine "murrine" {
	    roundness = 0
	    highlight_shade     = 1.04
	}

}

style "murrine-panel" {
	xthickness = 0
	ythickness = 0
	bg[NORMAL]        = "#141414"
	bg[PRELIGHT]     = shade (0.8, @bg_color)
	bg[ACTIVE]       = "#141414"
	fg[NORMAL]        = "#ffffff" #@fg_color
	fg[PRELIGHT]      = "#1a1a1a" #@fg_color
	fg[ACTIVE]        = "#ffffff" #@fg_color
	engine "murrine" {
	roundness = 0
	rgba = TRUE
	highlight_shade = 1.2
	reliefstyle	    = 4
	contrast = 0.9
	lightborderstyle    = 1
	lightborder_shade   = 1.1
	}
}


style "murrine-treeview"
{
}

# Based on the default style so that the colors from the button
# style are overriden again.
style "murrine-treeview-header" = "murrine-button"
{
	xthickness = 0
	ythickness = 0
    
    GtkWidget::focus-line-width = 0
    
	engine "murrine" {
	}
}

# SZ07: This is added to tell the theme how to color checkmarks and radio items that are not in menus.
style "murrine-radiocheck" = "murrine-default"
{
	text[NORMAL]	= @selected_fg_color # Color for checks/radio items.
	text[PRELIGHT]	= @selected_fg_color # Color for checks/radio items.
}

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

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

style "murrine-progressbar"
{
	xthickness = 1
	ythickness = 1
	fg[PRELIGHT]	= @selected_fg_color  # Progressbar prelighted text.
	engine "murrine" 
	{
	roundness	= 0 # Progressbar roundness.
	}
}


style "murrine-comboboxentry" 
{
	xthickness = 1
	ythickness = 3
}

style "murrine-spinbutton"
{
}

style "murrine-scale"
{
#	bg[PRELIGHT] = shade(0.9,@bg_color)
	bg[NORMAL]	= shade (1.14, @bg_color) # Color for sliders.
	bg[PRELIGHT]	= shade (1.18, @bg_color) # Color for slider prelight.
	bg[ACTIVE]	= shade (0.85, @bg_color) # Color for pressed-sliders.
}

style "murrine-hscale" = "murrine-scale"
{
}

style "murrine-vscale" = "murrine-scale"
{
}

style "murrine-scrollbar"
{
#	GtkScrollbar::trough-border	= 0 # Change to a higher value for border around scrollbars.
	bg[NORMAL]	= shade (1.14, @bg_color) # Color for non-colored scrollbars.
	bg[INSENSITIVE]	= @bg_color # Color for non-colored scrollbars.
	bg[PRELIGHT]	= @bg_color # Color for scrollbar prelight? (probably obsolete)
	bg[ACTIVE]	= @bg_color # Color for scrollbar rail's background.
	bg[SELECTED]	= @bg_color # Color of scrollbars.
	fg[PRELIGHT]	= shade (0.60, @selected_bg_color) # Highlighted scrollbar button.
	fg[ACTIVE]	= shade (0.40, @selected_bg_color) # Pressed scrollbar button.
	engine "murrine" 
	{
#		colorize_scrollbar	= FALSE # Commenting this out gives you colorful scrollbars.
		roundness		= 0 # Scrollbar roundness.
		contrast		= 1.0 # Makes scrollbar's rail borders darker.
	}
	GtkRange       ::trough-border        = 3
}

style "murrine-hscrollbar" = "murrine-scrollbar"
{
}

style "murrine-vscrollbar" = "murrine-scrollbar"
{
}

style "murrine-menubar"
{
	bg[NORMAL]   = @bg_color
	engine "murrine"{
		gradient_shades = {1.0,0.9,0.9,0.75}
	}
}

style "murrine-frame"
{
	#Uncomment for dark statusbars. Breaks some apps.
	bg[ACTIVE] = shade(0.2,@bg_color)
	fg[NORMAL] = mix (1.5, @fg_color, '#ffffff')
	fg[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}

style "murrine-frame-title" = "murrine-frame"
{
	fg[NORMAL] = lighter (@fg_color)
}

style "murrine-nautilus-location"
{
	bg[NORMAL] = mix(0.60, shade (1.05,@bg_color), @selected_bg_color)
}

style "nautilus-sidebar"
{
	GtkTreeView::even_row_color = @bg_color
}

widget_class "NautilusNavigationWindow.GtkTable.NautilusHorizontalSplitter.NautilusSidePane.GtkNotebook.*" style "nautilus-sidebar"

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

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

# Increase the x/ythickness in some widgets
class "GtkRange"     style "murrine-default"
class "GtkFrame"     style "murrine-frame"
class "GtkSeparator" style "murrine-wide"
class "GtkEntry"     style "murrine-wider"
class "GtkStatusbar" style "murrine-default"
class "GtkToolbar"   style "murrine-toolbar" 
class "GtkMenuBar"   style:highest "murrine-menubar"
class "*HandleBox" style "murrine-toolbar"
widget_class "*HandleBox" style "murrine-toolbar"

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 "GtkButton"      style "murrine-button"
class "GtkRadioButton*"	style "murrine-radiocheck"	# SZ07: Added for the checkmarks/radio
class "GtkCheckButton"	style "murrine-radiocheck"	# SZ07: Added for the checkmarks/radio



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

widget_class "*<GtkNotebook>*<GtkEventBox>"     style "murrine-notebook-bg"
widget_class "*<GtkStatusbar>*" style "murrine-wider"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "murrine-notebook-bg"
widget_class "*<GtkNotebook>*<GtkLayout>"       style "murrine-notebook-bg"
widget_class "*<GtkNotebook>"    style "murrine-notebook"

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

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

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

widget_class "*<GtkStatusbar>*"  style "murrine-wider"
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"

widget_class "*<GtkToolbar>.*"   style "murrine-toolbar"

#Panel style
class "*Panel*" style "murrine-panel"
widget "*PanelWidget*" 					style "murrine-panel"
widget "*PanelApplet*" 					style "murrine-panel"
widget "*fast-user-switch*"				style "murrine-panel"
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"

# XFCE panel theming
widget "*Xfce*Panel*" style "murrine-panel"
class "*Xfce*Panel*" style "murrine-panel"

# The window of the tooltip is called "gtk-tooltip"
widget "gtk-tooltip*" style "murrine-tooltips"

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

# Fixes toolbars inside frames. Will be overridden later.
style "murrine-toolbar-flat" = "murrine-default"
{
	xthickness = 0
	ythickness = 0
	engine "murrine"
	{
		toolbarstyle = 0
	}
}
widget_class "*.*.*.*.*.*Toolbar*"	style "murrine-toolbar-flat"
widget_class "*.*.*.*.*.*HandleBox*"	style "murrine-toolbar-flat"

#Undo for Epiphany (FIXME find a better way to do this)
widget_class "*EphyToolbar*"	style "murrine-toolbar"
widget_class "*EphyToolbar*.*.*.*"	style "murrine-toolbar"

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

#Firefox isn't nice to dark themes, so unset the dark stuff.
widget "MozillaGtkWidget*Toolbar*"	style "murrine-default"
#widget "MozillaGtkWidget*Frame*"	style "murrine-default"

#Thunderbird too. But since Thunderbird uses the same theming engine as FF2, things are worse for us.

# 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
style "murrine-text-is-fg-color-workaround"
{
	text[NORMAL]      = @fg_color
	text[PRELIGHT]    = @fg_color
	text[SELECTED]    = @selected_fg_color
	text[ACTIVE]      = @fg_color
	text[INSENSITIVE] = darker (@bg_color)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround"

#style "murrine-text-is-fg-color-workaround-dark"
#{
#	#Make it work with this theme!
#	text[NORMAL] = mix (1.5, @fg_color, '#ffffff')
#	text[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
#}
#widget_class "*Toolbar*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround-dark"

style "murrine-menuitem-text-is-fg-color-workaround" 
{
	#text[NORMAL]        = @fg_color
	#text[PRELIGHT]      = @selected_fg_color
	#text[SELECTED]      = @selected_fg_color
	#text[ACTIVE]        = @fg_color
	#text[INSENSITIVE]   = darker (@bg_color)
	#Make it work with this theme!
	text[NORMAL] = mix (1.5, @fg_color, '#ffffff')
	text[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}
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] = darker (@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"

#Rhythmbox toolbar near the search entry. Use default + wide so that it doesn't turn dark.
style "murrine-rhythmbox-header" = "murrine-default"
{
	xthickness = 0
	ythickness = 0
	engine "murrine" {
	}
}
widget "*RBSourceHeader*"	style:highest "murrine-rhythmbox-header"
widget "*HeaderToolbar*"	style:highest "murrine-rhythmbox-header"
widget "*FooterToolbar*"	style:highest "murrine-rhythmbox-header"
widget "*swt*toolbar*"	style "murrine-default"

#Evolution toolbar
#style "murrine-evo-new-button-workaround" = "murrine-dark"
#{
#	
#	engine "murrine"
#	{
#		toolbarstyle = 0
#	}
#}

#widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround"
# The following lines make panel-menu-applet, slab-main-menu and gimmie applet's text bold. The radius value sets the roundness value of the selected menu-item.
style "bold-panel-menu"
{
	font_name = "Bold"

	engine "murrine" {
	roundness = 2
	}
}

style "bold-panel-slab"
{
	font_name = "Bold"
}
widget "*Panel*slab-main-menu-panel-button*" style "bold-panel-slab"
widget "*gimmie*" style "bold-panel-slab"
widget "*Panel*MenuBar*" style "bold-panel-menu"
widget "*Panel*Clock*" style "bold-panel-menu"
widget "*Panel*MintMenu*" style "bold-panel-menu"

# Makes the text in the toolbar smaller. Remove if you want to use a larger size.
style "smaller-text"
{
	font_name = "7"
}
widget_class "*ToolButton*" style "smaller-text"
widget_class "*Statusbar*" style "smaller-text"

# Makes the text in the toolbar smaller. Remove if you want to use a larger size.
style "1smaller-text"
{
	font_name = "8"
}

widget_class "*GtkMenu*" style "1smaller-text"
widget_class "*GtkToolbar*" style "1smaller-text"

