# Neon 1.0 by Henrique Carvalho Alves <hcarvalhoalves@gmail.com>
# http://hcalves.deviantart.com

# Set GtkSettings color scheme property.
# This can be overriden (via an xsetting) with eg. the gnome-appearance-properties.

gtk_color_scheme = "fg_color:#bd70bd70bd70\nbg_color:#333333333333\ntext_color:#dc28dc28dc28\nbase_color:#1eb81eb81eb8\nselected_fg_color:#ffffffffffff\nselected_bg_color:#414190b5e473\ntooltip_fg_color:#ffffffffffff\ntooltip_bg_color:#1e1e1e1e1e1e"

gtk-icon-sizes = "gtk-button=16,16:\ngtk-dnd=16,16:\npanel=16,16:\npanel-menu=16,16:\ngtk-small-toolbar=16,16:\ngtk-large-toolbar=24,24:"
gtk-button-images = 0

gtk-menu-popup-delay = 50

style "bold-text" {
    font_name = "semi-bold"
}

style "small-text" {
    font_name = "9"
}

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

	GtkPaned       ::handle-size          = 6

	GtkRange       ::trough-border        = 0
	GtkRange       ::slider-width         = 16
	GtkRange       ::stepper-size         = 16

	GtkScale       ::slider-length        = 25
	GtkScale       ::trough-side-details  = 0
	GtkScrollbar   ::min-slider-length    = 30
    GtkVScrollbar  ::has-backward-stepper = 0
    GtkVScrollbar  ::has-secondary-backward-stepper = 1

    # Aurora scrollbar tricks
    GtkScrolledWindow::scrollbar-spacing = 0
    GtkScrolledWindow::scrollbars-within-bevel = 1

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

	GtkMenu        ::horizontal-padding   = 0
	GtkMenu        ::vertical-padding     = 5

    GtkTreeView::odd_row_color            = shade (1.3, @base_color)

    # Remove ugly dotted line
    GtkWidget::focus-line-width           = 0

    # Visible text cursor color
    GtkWidget::cursor_color = @text_color
	
	# Flat menubars and toolbar
	#GtkMenuBar::shadow_type = GTK_SHADOW_NONE
    #GtkToolbar::shadow_type = GTK_SHADOW_NONE

    # Better link colours
    GtkWidget::link-color = @selected_bg_color
    GtkWidget::visited-link-color = mix(0.5, "#FFFFFF", @selected_bg_color)

	xthickness = 1
	ythickness = 1

	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.9, @bg_color)

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = shade (0.9, @selected_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
		colorize_scrollbar  = FALSE
		contrast            = 1.1   # 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.1,1.0,1.0,0.9}
		#gradient_shades     = {1.09,1.06,1.04,1.01} # default: {1.1,1.0,1.0,1.1}
		gradients           = TRUE  # FALSE = disabled, TRUE = enabled
		highlight_ratio     = 1.0  # set highlight amount for buttons or widgets
		lightborder_ratio   = 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        = 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	    = 2     # 0 = flat, 1 = inset, 2 = shadow
		rgba		    = FALSE  # FALSE = disabled, TRUE = enabled
		roundness           = 3     # 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
		toolbarstyle	    = 2     # 0 = flat, 1 = glassy, 2 = gradient
	}
}

style "murrine-nogap" {
    xthickness = 0
    ythickness = 0
}

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

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

style "murrine-button"
{
	xthickness   = 3
	ythickness   = 3
	bg[NORMAL]   = shade (1.1, @bg_color)
    bg[PRELIGHT] = shade (1.2, mix (0.1, @selected_bg_color, @bg_color))
	bg[ACTIVE]   = shade (0.8, @bg_color)    
}

style "murrine-dark" {	
	fg[NORMAL]        = shade (1.1, @fg_color)
	fg[PRELIGHT]      = @selected_fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[ACTIVE]        = shade (1.1, @fg_color)
	fg[INSENSITIVE]   = darker (@fg_color)

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

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

	text[NORMAL]      = @fg_color
	text[PRELIGHT]    = shade(1.1, @fg_color)
	text[ACTIVE]      = shade(1.1, @fg_color)
	text[SELECTED]    = shade(1.1, @fg_color)
	text[INSENSITIVE] = darker (@fg_color)
}

style "murrine-darkbutton" = "murrine-dark"
{ 
	fg[PRELIGHT]      = shade (1.1, @bg_color)
    bg[NORMAL]        = shade (0.27, @bg_color)
    bg[PRELIGHT]      = shade (0.35, @bg_color)
	bg[ACTIVE]        = shade (0.20, @bg_color)
}

style "murrine-entry"
{
	xthickness = 3
	ythickness = 3
    fg[SELECTED]      = shade (0.35, @bg_color)
}

style "murrine-darkentry" = "murrine-dark"
{
	xthickness = 3
	ythickness = 3
}

style "murrine-notebook-bg" = "murrine-wider"
{
    bg[NORMAL] = shade (1.1, @bg_color)
    bg[ACTIVE] = shade (0.95, @bg_color)
}

style "murrine-notebook" = "murrine-notebook-bg"
{
}

style "murrine-tasklist"
{
	xthickness = 5
	ythickness = 3
}

style "murrine-panel" = "murrine-default" {
    xthickness = 0
    ythickness = 0

	fg[NORMAL]        = shade(1.5, @fg_color)
	fg[PRELIGHT]      = shade(1.5, @fg_color)
	bg_pixmap[NORMAL] = "panel.png"
}

style "murrine-menu" = "murrine-dark"
{
	xthickness = 0
	ythickness = 0

	text[NORMAL]      = @text_color

    # Radius of the menu items (inside menus)
	engine "murrine" 
	{
		roundness = 0
	}
}

style "murrine-dark-bold-text" = "murrine-dark"
{
    font_name = "semi-bold"
}

style "murrine-menu-item" = "murrine-dark-bold-text"
{
	xthickness = 3
	ythickness = 3

	fg[NORMAL]        = shade(1.5, @fg_color)
	text[NORMAL]      = shade(1.5, @fg_color)
    base[NORMAL]      = @bg_color
}

style "murrine-separator-menu-item" = "murrine-dark"
{
	bg[NORMAL]        = shade(0.8, @bg_color)

	GtkSeparatorMenuItem::horizontal-padding = 0
	# We are setting the desired height by using wide-separators
	# There is no other way to get the odd height ...
	GtkWidget::wide-separators = 1
	GtkWidget::separator-width = 1
	GtkWidget::separator-height = 5
	xthickness = 1
	ythickness = 2
}

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

# Based on the default style so that the colors from the button
# style are overriden again.
style "murrine-treeview-header" = "murrine-button"
{
	xthickness = 2
	ythickness = 1
}

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

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

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

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

	fg[PRELIGHT] = @selected_fg_color

	engine "murrine"
	{
		# Explicitly set the radius, for progress
		# bars inside menuitems
		roundness = 0
	}
}

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

style "murrine-comboboxentry"
{
	# NOTE:
	# If you set the appears-as-list option on comboboxes in the theme
	# you should set this hint on the combobox instead.
}

style "murrine-spinbutton"
{
}

style "murrine-scale" = "murrine-button"
{
    bg[SELECTED] = mix(0.2, @selected_bg_color, @bg_color)

    GtkRange::slider-width = 15

    engine "murrine"
	{
	  roundness = 6
	}
}

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

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

style "murrine-menubar" = "murrine-default"
{
    xthickness = 2
    ythickness = 2

	fg[NORMAL]        = shade(1.5, @fg_color)
	fg[PRELIGHT]      = shade(1.5, @fg_color)

	engine "murrine"
	{
		roundness	=  3
	}
}

style "murrine-low"
{
	engine "murrine"
	{
		contrast = 0.85
	}
}

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

style "murrine-darkbg" {
    bg[NORMAL] = shade (0.15, @bg_color)
}

style "aurora-scrollbar"
{
    bg[NORMAL] = shade(1.2, @bg_color)
    bg[PRELIGHT] = shade (1.2, mix (0.1, @selected_bg_color, @bg_color))

	engine "aurora"
	{
	  curvature = 6.0
	}
}

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

# Murrine 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-entry"
class "GtkSpinButton"  style "murrine-spinbutton"
class "GtkScale"       style "murrine-scale"
class "GtkVScale"      style "murrine-vscale"
class "GtkHScale"      style "murrine-hscale"

class "GtkScrollbar"   style "aurora-scrollbar"
class "GtkVScrollbar"  style "aurora-scrollbar"
class "GtkHScrollbar"  style "aurora-scrollbar"

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

#Panel
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"


# 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-bg"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "murrine-notebook-bg"
widget_class "*<GtkNotebook>*<GtkLayout>"       style "murrine-notebook-bg"

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

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 "*<GtkMenuBar>*"           style "murrine-menubar"
widget_class "*<GtkSeparatorMenuItem>*" style "murrine-separator-menu-item"

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

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

widget_class "*ToolButton*" style "small-text"
widget_class "*Statusbar*" style "small-text"

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

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

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

###################################################
# 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-text-is-fg-color-workaround"
{

	text[NORMAL]      = shade(1.5, @fg_color)
	text[PRELIGHT]    = shade(1.5, @fg_color)
	text[SELECTED]    = @selected_fg_color
	text[ACTIVE]      = shade(1.5, @fg_color)
	text[INSENSITIVE] = darker (@fg_color)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround"

style "murrine-menuitem-text-is-fg-color-workaround" 
{
	text[NORMAL]        = shade(1.5, @fg_color)
	text[PRELIGHT]      = shade(1.5, @fg_color)
	text[SELECTED]      = @selected_fg_color
	text[ACTIVE]        = shade(1.5, @fg_color)
	text[INSENSITIVE]   = darker (@fg_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] = darker (@fg_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"
