style "default" {

  xthickness = 1
  ythickness = 1

  # Style Properties

  GtkWindow::resize-grip-height = 4
  GtkWindow::resize-grip-width = 4

  GtkWidget::focus-line-width = 1
  GtkMenuBar::window-dragging = 1
  GtkToolbar::window-dragging = 1
  GtkToolbar::internal-padding = 4
  GtkToolButton::icon-spacing = 4

  GtkWidget::tooltip-radius = 2
  GtkWidget::tooltip-alpha = 235
  GtkWidget::new-tooltip-style = 1 #for compatibility

  GtkSeparatorMenuItem::horizontal-padding = 0
  GtkSeparatorMenuItem::wide-separators = 1
  GtkSeparatorMenuItem::separator-height = 2

  GtkButton::child-displacement-y = 0
  GtkButton::default-border = { 0, 0, 0, 0 }
  GtkButton::default-outside_border = { 0, 0, 0, 0 }

  GtkEntry::state-hint = 1

  GtkScrollbar::trough-border = 0
  GtkRange::trough-border = 0
  GtkRange::slider-width = 13
  GtkRange::stepper-size = 0

  GtkScrollbar::activate-slider = 1
  GtkScrollbar::has-backward-stepper = 0
  GtkScrollbar::has-forward-stepper = 0
  GtkScrollbar::min-slider-length = 32
  GtkScrolledWindow::scrollbar-spacing = 0
  GtkScrolledWindow::scrollbars-within-bevel = 1

  GtkScale::slider_length = 20
  GtkScale::slider_width = 20
  GtkScale::trough-side-details = 1

  GtkProgressBar::min-horizontal-bar-height = 8
  GtkProgressBar::min-vertical-bar-width = 8

  GtkStatusbar::shadow_type = GTK_SHADOW_NONE
  GtkSpinButton::shadow_type = GTK_SHADOW_NONE
  GtkMenuBar::shadow-type = GTK_SHADOW_NONE
  GtkToolbar::shadow-type = GTK_SHADOW_NONE
  GtkMenuBar::internal-padding = 0 #( every window is misaligned for the sake of menus ):
  GtkMenu::horizontal-padding = 0
  GtkMenu::vertical-padding = 0

  GtkCheckButton::indicator_spacing = 3
  GtkOptionMenu::indicator_spacing = { 8, 2, 0, 0 }

  GtkTreeView::row_ending_details = 0
  GtkTreeView::expander-size = 11
  GtkTreeView::vertical-separator = 4
  GtkTreeView::horizontal-separator = 4
  GtkTreeView::allow-rules = 1
  GtkTreeView::odd_row_color = shade(0.98, @base_color)

  GtkExpander::expander-size = 11

  GnomeHRef::link_color = @link_color
  GtkHTML::link-color = @link_color
  GtkIMHtmlr::hyperlink-color = @link_color
  GtkIMHtml::hyperlink-color = @link_color
  GtkWidget::link-color = @link_color
  GtkWidget::visited-link-color = @text_color

  # Colors

  bg[NORMAL] = @bg_color
  bg[PRELIGHT] = shade (1.0, @bg_color)
  bg[SELECTED] = @selected_bg_color
  bg[INSENSITIVE] = @insensitive_bg_color
  bg[ACTIVE] = shade (0.9, @bg_color)

  fg[NORMAL] = @text_color
  fg[PRELIGHT] = @fg_color
  fg[INSENSITIVE] = @insensitive_fg_color
  # fg[ACTIVE] = @fg_color
  fg[SELECTED] = @selected_fg_color

  text[NORMAL] = @text_color
  text[PRELIGHT] = @text_color
  text[SELECTED] = @selected_fg_color
  text[INSENSITIVE] = @insensitive_fg_color
  text[ACTIVE] = @selected_fg_color

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

  # For succinctness, all reasonable pixmap options remain here
  # This needs to go before pixmap because we need to override some stuff
  engine "adwaita" {}

  engine "pixmap" {

    # Check Buttons

    image {
      function  = CHECK
      recolorable = TRUE
      state = NORMAL
      shadow = OUT
      overlay_file = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = PRELIGHT
      shadow = OUT
      overlay_file = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = ACTIVE
      shadow = OUT
      overlay_file = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = SELECTED
      shadow = OUT
      overlay_file = "assets/checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = INSENSITIVE
      shadow = OUT
      overlay_file = "assets/checkbox-unchecked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = NORMAL
      shadow = IN
      overlay_file = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = PRELIGHT
      shadow = IN
      overlay_file = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = ACTIVE
      shadow = IN
      overlay_file = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = SELECTED
      shadow = IN
      overlay_file = "assets/checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = INSENSITIVE
      shadow = IN
      overlay_file = "assets/checkbox-checked-insensitive.png"
      overlay_stretch = FALSE
    }

    # Radio Buttons

    image {
      function = OPTION
      state = NORMAL
      shadow = OUT
      overlay_file = "assets/radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = PRELIGHT
      shadow = OUT
      overlay_file = "assets/radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = ACTIVE
      shadow = OUT
      overlay_file = "assets/radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = SELECTED
      shadow = OUT
      overlay_file = "assets/radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = INSENSITIVE
      shadow = OUT
      overlay_file = "assets/radio-unchecked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = NORMAL
      shadow = IN
      overlay_file = "assets/radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = PRELIGHT
      shadow = IN
      overlay_file = "assets/radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = ACTIVE
      shadow = IN
      overlay_file = "assets/radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = SELECTED
      shadow = IN
      overlay_file = "assets/radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = INSENSITIVE
      shadow = IN
      overlay_file = "assets/radio-checked-insensitive.png"
      overlay_stretch = FALSE
    }

    # Arrows

    image {
      function = ARROW
      overlay_file = "assets/arrow-up.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = UP
    }

    image {
      function = ARROW
      state = PRELIGHT
      overlay_file = "assets/arrow-up-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = UP
    }

    image {
      function = ARROW
      state = ACTIVE
      overlay_file = "assets/arrow-up-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = UP
    }

    image {
      function = ARROW
      state = INSENSITIVE
      overlay_file = "assets/arrow-up-insens.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = UP
    }

    image {
      function = ARROW
      state = NORMAL
      overlay_file = "assets/arrow-down.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = DOWN
    }

    image {
      function = ARROW
      state = PRELIGHT
      overlay_file = "assets/arrow-down-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = DOWN
    }

    image {
      function = ARROW
      state = ACTIVE
      overlay_file = "assets/arrow-down-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = DOWN
    }

    image {
      function = ARROW
      state = INSENSITIVE
      overlay_file = "assets/arrow-down-insens.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = DOWN
    }

    image {
      function = ARROW
      overlay_file = "assets/arrow-left.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = LEFT
    }

    image {
      function = ARROW
      state= PRELIGHT
      overlay_file = "assets/arrow-left-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = LEFT
    }

    image {
      function = ARROW
      state = ACTIVE
      overlay_file = "assets/arrow-left-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = LEFT
    }

    image {
      function = ARROW
      state = INSENSITIVE
      overlay_file = "assets/arrow-left-insens.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = LEFT
    }

    image {
      function = ARROW
      overlay_file = "assets/arrow-right.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    image {
      function = ARROW
      state = PRELIGHT
      overlay_file = "assets/arrow-right-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    image {
      function = ARROW
      state = ACTIVE
      overlay_file = "assets/arrow-right-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    image {
      function = ARROW
      state = INSENSITIVE
      overlay_file = "assets/arrow-right-insens.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    # Option Menu Arrows

    image {
      function = TAB
      state = INSENSITIVE
      overlay_file = "assets/arrow-down-insens.png"
      overlay_stretch = FALSE
    }

    image {
      function = TAB
      state = NORMAL
      overlay_file = "assets/arrow-down.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
    }

    image {
      function = TAB
      state = PRELIGHT
      overlay_file = "assets/arrow-down-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
    }

    # Lines

    image {
      function = VLINE
      file = "assets/border.png"
      border = { 1, 0, 0, 0 }
      stretch = TRUE
    }

    image {
      function = HLINE
      file = "assets/border.png"
      border = { 0, 0, 1, 0 }
      stretch = TRUE
    }

    # Focuslines

    image {
      function = FOCUS
      file = "assets/null.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
    }

    # Handles

    image {
      function = HANDLE
      overlay_file = "assets/handle-h.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    image {
      function = HANDLE
      overlay_file = "assets/handle-v.png"
      overlay_stretch = FALSE
      orientation = VERTICAL
    }

    # Expanders

    image {
      function = EXPANDER
      expander_style = COLLAPSED
      file = "assets/plus.png"
    }

    image {
      function = EXPANDER
      expander_style = EXPANDED
      file = "assets/minus.png"
    }

    image {
      function = EXPANDER
      expander_style = SEMI_EXPANDED
      file = "assets/minus.png"
    }

    image {
      function = EXPANDER
      expander_style = SEMI_COLLAPSED
      file = "assets/plus.png"
    }

    image {
      function = RESIZE_GRIP
      state = NORMAL
      detail = "statusbar"
      overlay_file = "assets/null.png"
      overlay_border = { 0,0,0,0 }
      overlay_stretch = FALSE
    }

    # Shadows ( this area needs help :P )

    image {
      function = SHADOW_GAP
      file = "assets/null.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
    }
  }
}


style "toplevel_hack" {

  engine "adwaita" {
  }
}

style "ooo_stepper_hack" {

  GtkScrollbar::stepper-size = 0
  GtkScrollbar::has-backward-stepper = 0
  GtkScrollbar::has-forward-stepper = 0

}

style "scrollbar" {

  engine "pixmap" {

    image {
      function = BOX
      detail = "trough"
      file = "assets/trough-scrollbar-horiz.png"
      border = { 2, 2, 3, 3 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = BOX
      detail = "trough"
      file = "assets/trough-scrollbar-vert.png"
      border = { 3, 3, 2, 2 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = ARROW
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = UP
    }

    image {
      function = ARROW
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = DOWN
    }

    image {
      function = ARROW
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = LEFT
    }

    image {
      function = ARROW
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    # Sliders

    image {
      function = SLIDER
      state = NORMAL
      file = "assets/slider-horiz.png"
      border = { 5, 5, 3, 3 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = ACTIVE
      file = "assets/slider-horiz-active.png"
      border = { 5, 5, 3, 3 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = PRELIGHT
      file = "assets/slider-horiz-prelight.png"
      border = { 5, 5, 3, 3 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = INSENSITIVE
      file = "assets/slider-horiz-insens.png"
      border = { 5, 5, 3, 3 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

# X Verticals

    image {
      function = SLIDER
      state = NORMAL
      file = "assets/slider-vert.png"
      border = { 3, 3, 5, 5 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = SLIDER
      state = ACTIVE
      file = "assets/slider-vert-active.png"
      border = { 3, 3, 5, 5 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = SLIDER
      state = PRELIGHT
      file = "assets/slider-vert-prelight.png"
      border = { 3, 3, 5, 5 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = SLIDER
      state = INSENSITIVE
      file = "assets/slider-vert-insens.png"
      border = { 3, 3, 5, 5 }
      stretch = TRUE
      orientation = VERTICAL
    }
  }
}

style "menu" {

  xthickness = 0
  ythickness = 0

  GtkMenuItem::arrow-scaling = 0.4

  bg[NORMAL] = @menu_bg
  bg[INSENSITIVE] = @menu_bg
  bg[PRELIGHT] = @menu_bg
}

style "menu_framed_box" {

#  engine "adwaita" { # default menu border
#  }

  engine "pixmap" {
    image {
      function = BOX
      file     = "assets/frame.png"
      border   = { 1, 1, 2, 1 }
      stretch  = TRUE
    }
  }

}

style "menu_item" {
  xthickness = 4
  ythickness = 2

  # HACK: Gtk doesn't actually read this value
  # while rendering the menu items, but Libreoffice
  # does; setting this value equal to the one in
  # fg[PRELIGHT] ensures a code path in the LO theming code
  # that falls back to a dark text color for menu item text
  # highlight. The price to pay is black text on menus as well,
  # but at least it's readable.
  # See https://bugs.freedesktop.org/show_bug.cgi?id=38038
  bg[SELECTED] = @selected_bg_color

  fg[NORMAL] = @menu_fg
  fg[SELECTED] = @selected_fg_color

  fg[PRELIGHT] = @selected_fg_color
  text[PRELIGHT] = @selected_fg_color

  engine "pixmap" {

    image {
      function = BOX
      state = PRELIGHT
      file = "assets/menuitem.png"
      border = { 1, 0, 1, 0 }
      stretch = TRUE
    }

    # Fix invisible scale trough on selected menuitems

    image {
      function = BOX
      detail = "trough-lower"
      file = "assets/trough-horizontal.png"
      border = { 8, 8, 0, 0 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = PRELIGHT
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    # Check Buttons

    image {
      function = CHECK
      recolorable = TRUE
      state = NORMAL
      shadow = OUT
      overlay_file = "assets/menu-checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = PRELIGHT
      shadow = OUT
      overlay_file = "assets/menu-checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = ACTIVE
      shadow = OUT
      overlay_file = "assets/menu-checkbox-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = INSENSITIVE
      shadow = OUT
      overlay_file = "assets/menu-checkbox-unchecked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = NORMAL
      shadow = IN
      overlay_file = "assets/menu-checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = PRELIGHT
      shadow = IN
      overlay_file = "assets/menu-checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = ACTIVE
      shadow = IN
      overlay_file = "assets/menu-checkbox-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = CHECK
      recolorable = TRUE
      state = INSENSITIVE
      shadow = IN
      overlay_file = "assets/menu-checkbox-checked-insensitive.png"
      overlay_stretch = FALSE
    }

    # Radio Buttons

    image {
      function = OPTION
      state = NORMAL
      shadow = OUT
      overlay_file = "assets/menu-radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = PRELIGHT
      shadow = OUT
      overlay_file = "assets/menu-radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = ACTIVE
      shadow = OUT
      overlay_file = "assets/menu-radio-unchecked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = INSENSITIVE
      shadow = OUT
      overlay_file = "assets/menu-radio-unchecked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = NORMAL
      shadow = IN
      overlay_file = "assets/menu-radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = PRELIGHT
      shadow = IN
      overlay_file = "assets/menu-radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = ACTIVE
      shadow = IN
      overlay_file = "assets/menu-radio-checked.png"
      overlay_stretch = FALSE
    }

    image {
      function = OPTION
      state = INSENSITIVE
      shadow = IN
      overlay_file = "assets/menu-radio-checked-insensitive.png"
      overlay_stretch = FALSE
    }

    image {
      function = SHADOW # This fixes boxy Qt menu items
      file = "assets/null.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
    }

    # Arrow Buttons

    image {
      function = ARROW
      state = NORMAL
      overlay_file = "assets/menu-arrow.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    image {
      function = ARROW
      state = PRELIGHT
      overlay_file = "assets/menu-arrow-prelight.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }

    image {
      function = BOX
      state    = PRELIGHT
      detail   = "menu_scroll_arrow_up"
      file     = "assets/border.png"
      border   = {0, 0, 1, 0}
    }

    image {
      function = BOX
      detail   = "menu_scroll_arrow_up"
      file     = "assets/border.png"
      border   = {0, 0, 1, 0}
    }

    image {
      function = BOX
      state    = PRELIGHT
      detail   = "menu_scroll_arrow_down"
      file     = "assets/border.png"
      border   = {1, 0, 0, 0}
    }

    image {
      function = BOX
      detail   = "menu_scroll_arrow_down"
      file     = "assets/border.png"
      border   = {1, 0, 0, 0}
    }
  }
}

style "button" {
  xthickness = 4
  ythickness = 4

  engine "murrine" { textstyle = 0 }

  engine "pixmap" {

    image {
      function = BOX
      state = NORMAL
      file = "assets/button.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = BOX
      state    = PRELIGHT
      shadow   = OUT
      file     = "assets/button-hover.png"
      border = {6, 6, 6, 6}
      stretch  = TRUE
    }

    # hover effect on pressed buttons
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = IN
      file     = "assets/button-active-hover.png"
      border = {6, 6, 6, 6}
      stretch  = TRUE
    }

    image {
      function = BOX
      state = ACTIVE
      file = "assets/button-active.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = BOX
      state = INSENSITIVE
      file = "assets/button-insensitive.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }
  }
}

style "toolbar_button" {

  engine "pixmap" {

    # hover effect on pressed buttons
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = IN
      file     = "assets/toolbar-button-active-hover.png"
      border   = {6, 6, 6, 6}
      stretch  = TRUE
    }

    image {
      function = BOX
      state = ACTIVE
      file = "assets/toolbar-button-active.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

  }
}

style "button_label" {

  fg[NORMAL] = @text_color
  fg[PRELIGHT] = @fg_color
  fg[INSENSITIVE] = @insensitive_button_fg_color
  fg[ACTIVE] = @fg_color

  engine "murrine" { textstyle = 0 }
}

style "checkbutton" {

  fg[PRELIGHT] = @text_color
  fg[ACTIVE] = @text_color

}

style "link_button" {
  # Disable the button effect, leave just the link
  engine "pixmap" {
    image {
      function = BOX
    }
  }
}

style "entry" {

  xthickness = 6
  ythickness = 4

  engine "pixmap" {

    image {
      function = SHADOW
      state = NORMAL
      detail = "entry"
      file = "assets/entry-bg.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = SHADOW
      state = ACTIVE
      detail = "entry"
      file = "assets/entry-active-bg.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = SHADOW
      state = INSENSITIVE
      detail = "entry"
      file = "assets/entry-disabled-bg.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = FLAT_BOX
      state    = ACTIVE
      detail   = "entry_bg"
      file     = "assets/entry-background.png"
    }

    image {
      function = FLAT_BOX
      state    = INSENSITIVE
      detail   = "entry_bg"
      file     = "assets/entry-background-disabled.png"
    }

    image {
      function = FLAT_BOX
      detail   = "entry_bg"
      file     = "assets/entry-background.png"
    }
  }
}

style "notebook_entry" {

  engine "pixmap" {

    image {
      function = SHADOW
      state = NORMAL
      detail = "entry"
      file = "assets/entry-notebook.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = SHADOW
      state = ACTIVE
      detail = "entry"
      file = "assets/entry-active-notebook.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }

    image {
      function = SHADOW
      state = INSENSITIVE
      detail = "entry"
      file = "assets/entry-disabled-notebook.png"
      border = {6, 6, 6, 6}
      stretch = TRUE
    }
  }
}

style "notebook_button_bg" {

  bg[NORMAL] = @notebook_bg
  bg[PRELIGHT] = @notebook_bg
  bg[INSENSITIVE] = @notebook_bg
  bg[ACTIVE] = @notebook_bg

}

style "notebook_tab_label" {

  fg[NORMAL] = @text_color
  fg[PRELIGHT] = @fg_color
  fg[INSENSITIVE] = @insensitive_fg_color
  fg[ACTIVE] = @text_color

}

style "combobox_entry" {

  xthickness = 3
  ythickness = 4

  engine "pixmap" {

    # LTR version

    image {
      function = SHADOW
      detail = "entry"
      state = NORMAL
      shadow = IN
      file = "assets/combo-entry.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = SHADOW
      detail = "entry"
      state = INSENSITIVE
      shadow = IN
      file = "assets/combo-entry-insensitive.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = SHADOW
      detail = "entry"
      state = ACTIVE
      file = "assets/combo-entry-focus.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    # RTL version

    image {
      function = SHADOW
      detail = "entry"
      state = NORMAL
      shadow = IN
      file = "assets/combo-entry-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = SHADOW
      detail = "entry"
      state = INSENSITIVE
      shadow = IN
      file = "assets/combo-entry-insensitive-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = SHADOW
      detail = "entry"
      state = ACTIVE
      file = "assets/combo-entry-focus-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }
  }
}

style "notebook_combobox_entry" {

  engine "pixmap" {

    # LTR version

    image {
      function = SHADOW
      detail = "entry"
      state = NORMAL
      shadow = IN
      file = "assets/combo-entry-notebook.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = SHADOW
      detail = "entry"
      state = INSENSITIVE
      shadow = IN
      file = "assets/combo-entry-insensitive-notebook.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = SHADOW
      detail = "entry"
      state = ACTIVE
      file = "assets/combo-entry-focus-notebook.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    # RTL version

    image {
      function = SHADOW
      detail = "entry"
      state = NORMAL
      shadow = IN
      file = "assets/combo-entry-notebook-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = SHADOW
      detail = "entry"
      state = INSENSITIVE
      shadow = IN
      file = "assets/combo-entry-insensitive-notebook-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = SHADOW
      detail = "entry"
      state = ACTIVE
      file = "assets/combo-entry-focus-notebook-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }
  }
}

style "combobox_entry_button" {

  xthickness = 6

  fg[ACTIVE] = @text_color

  engine "pixmap" {

    # LTR version

    image {
      function = BOX
      state = NORMAL
      file = "assets/combo-entry-button.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = BOX
      state = PRELIGHT
      file = "assets/combo-entry-button.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = BOX
      state = INSENSITIVE
      file = "assets/combo-entry-button-insensitive.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    image {
      function = BOX
      state = ACTIVE
      file = "assets/combo-entry-button-active.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = LTR
    }

    # RTL version
    image {
      function = BOX
      state = NORMAL
      file = "assets/combo-entry-button-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = BOX
      state = PRELIGHT
      file = "assets/combo-entry-button-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = BOX
      state = INSENSITIVE
      file = "assets/combo-entry-button-insensitive-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }

    image {
      function = BOX
      state = ACTIVE
      file = "assets/combo-entry-button-active-rtl.png"
      border = { 4, 4, 5, 4 }
      stretch = TRUE
      direction = RTL
    }
  }
}

style "spinbutton" {

  bg[NORMAL] = @bg_color

  xthickness = 6
  ythickness = 4

  engine "pixmap" {

    image {
      function = ARROW
    }

    # Spin-Up LTR

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_up"
      file = "assets/up-background.png"
      border = { 1, 4, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_up"
      file = "assets/up-background.png"
      border = { 1, 4, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_up"
      file = "assets/up-background-disable.png"
      border = { 1, 4, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small-insens.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_up"
      file = "assets/up-background.png"
      border = { 1, 4, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    # Spin-Up RTL

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_up"
      file = "assets/up-background-rtl.png"
      border = { 4, 1, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_up"
      file = "assets/up-background-rtl.png"
      border = { 4, 1, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_up"
      file = "assets/up-background-disable-rtl.png"
      border = { 4, 1, 5, 0 }
      stretch = TRUE
      overlay_file = "assets/arrow-up-small-insens.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_up"
      file = "assets/up-background-rtl.png"
      border = { 4, 1, 5, 0 }
      stretch	= TRUE
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch	= FALSE
      direction = RTL
    }

    # Spin-Down LTR

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_down"
      file = "assets/down-background.png"
      border = { 1, 4, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_down"
      file = "assets/down-background.png"
      border = { 1, 4, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_down"
      file = "assets/down-background-disable.png"
      border = { 1, 4, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-insens.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_down"
      file = "assets/down-background.png"
      border = { 1, 4, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
      direction = LTR
    }

    # Spin-Down RTL

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_down"
      file = "assets/down-background-rtl.png"
      border = { 4, 1, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_down"
      file = "assets/down-background-rtl.png"
      border = { 4, 1, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_down"
      file = "assets/down-background-disable-rtl.png"
      border = { 4, 1, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-insens.png"
      overlay_stretch = FALSE
      direction = RTL
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_down"
      file = "assets/down-background-rtl.png"
      border = { 4, 1, 1, 4 }
      stretch = TRUE
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
      direction = RTL
    }
  }
}

style "gimp_spin_scale" {

  bg[NORMAL] = @base_color

  engine "pixmap" {

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = NORMAL
    }

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = ACTIVE
    }

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_up"
      overlay_file = "assets/arrow-up-small.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_up"
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_up"
      overlay_file = "assets/arrow-up-small-prelight.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_up"
      overlay_file = "assets/arrow-up-small-insens.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = NORMAL
      detail = "spinbutton_down"
      overlay_file = "assets/arrow-down-small.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = PRELIGHT
      detail = "spinbutton_down"
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = ACTIVE
      detail = "spinbutton_down"
      overlay_file = "assets/arrow-down-small-prelight.png"
      overlay_stretch = FALSE
    }

    image {
      function = BOX
      state = INSENSITIVE
      detail = "spinbutton_down"
      overlay_file = "assets/arrow-down-small-insens.png"
      overlay_stretch = FALSE
    }
  }
}

style "notebook" {

  xthickness = 5
  ythickness = 2

  engine "pixmap" {

    image {
      function = EXTENSION
      state = ACTIVE
      file = "assets/null.png"
      border = { 0,0,0,0 }
      stretch = TRUE
      gap_side = TOP
    }

    image {
      function = EXTENSION
      state = ACTIVE
      file = "assets/null.png"
      border = { 0,0,0,0 }
      stretch = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      state = ACTIVE
      file = "assets/null.png"
      border = { 0,0,0,0 }
      stretch = TRUE
      gap_side = RIGHT
    }

    image {
      function = EXTENSION
      state = ACTIVE
      file = "assets/null.png"
      border = { 0,0,0,0 }
      stretch = TRUE
      gap_side = LEFT
    }

    image {
      function = EXTENSION
      file = "assets/tab-top-active.png"
      border = { 3,3,3,3 }
      stretch = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      file = "assets/tab-bottom-active.png"
      border = { 3,3,3,3 }
      stretch = TRUE
      gap_side = TOP
    }

    image {
      function = EXTENSION
      file = "assets/tab-left-active.png"
      border = { 3,3,3,3 }
      stretch = TRUE
      gap_side = RIGHT
    }

    image {
      function = EXTENSION
      file = "assets/tab-right-active.png"
      border = { 3,3,3,3 }
      stretch = TRUE
      gap_side = LEFT
    }

    # How to draw boxes with a gap on one side (ie the page of a notebook)

    image {
      function = BOX_GAP
      file = "assets/notebook.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      gap_file = "assets/notebook-gap-horiz.png"
      gap_border = { 1, 1, 0, 0 }
      gap_side = TOP
    }

    image {
      function = BOX_GAP
      file = "assets/notebook.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      gap_file = "assets/notebook-gap-horiz.png"
      gap_border = { 1, 1, 0, 0 }
      gap_side = BOTTOM
    }

    image {
      function = BOX_GAP
      file = "assets/notebook.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      gap_file = "assets/notebook-gap-vert.png"
      gap_border = { 0, 0, 1, 1 }
      gap_side = LEFT
    }

    image {
      function = BOX_GAP
      file = "assets/notebook.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      gap_file = "assets/notebook-gap-vert.png"
      gap_border = { 0, 0, 1, 1 }
      gap_side = RIGHT
    }

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

    image {
      function = BOX
      file = "assets/notebook.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
    }
  }
}

style "handlebox" {

  engine "pixmap" {

    image {
    function = BOX
    file = "assets/null.png"
    border = { 4, 4, 4, 4 }
    stretch = TRUE
    detail = "handlebox_bin"
    shadow = IN
    }

    image {
    function = BOX
    file = "assets/null.png"
    border = { 4, 4, 4, 4 }
    stretch = TRUE
    detail = "handlebox_bin"
    shadow = OUT
    }
  }
}

style "combobox_separator" {

  xthickness = 0
  ythickness = 0
  GtkWidget::wide-separators = 1

}

style "combobox" {

  xthickness = 0
  ythickness = 0

}

style "combobox_button" {

  xthickness = 3
  ythickness = 3

}

style "range" {

  engine "pixmap" {

    image {
      function = BOX
      detail = "trough-upper"
      file = "assets/trough-horizontal.png"
      border = { 8, 8, 0, 0 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = BOX
      detail = "trough-lower"
      file = "assets/trough-horizontal-active.png"
      border = { 8, 8, 0, 0 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = BOX
      detail = "trough-upper"
      file = "assets/trough-vertical.png"
      border = { 0, 0, 8, 8 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = BOX
      detail = "trough-lower"
      file = "assets/trough-vertical-active.png"
      border = { 0, 0, 8, 8 }
      stretch = TRUE
      orientation = VERTICAL
    }

    # Horizontal

    image {
      function = SLIDER
      state = NORMAL
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = PRELIGHT
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider-prelight.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    image {
      function = SLIDER
      state = INSENSITIVE
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider-insensitive.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    # Vertical

    image {
      function = SLIDER
      state = NORMAL
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider.png"
      overlay_stretch = FALSE
      orientation = VERTICAL
    }

    image {
      function = SLIDER
      state = PRELIGHT
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider-prelight.png"
      overlay_stretch = FALSE
      orientation = VERTICAL
    }

    image {
      function = SLIDER
      state = INSENSITIVE
      file = "assets/null.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
      overlay_file = "assets/slider-insensitive.png"
      overlay_stretch = FALSE
      orientation = VERTICAL
    }

    # Function below removes ugly boxes

    image {
      function = BOX
      file = "assets/null.png"
      border = { 3, 3, 3, 3 }
      stretch = TRUE
    }
  }
}

style "progressbar" {

  xthickness = 1
  ythickness = 1

  fg[NORMAL] = @fg_color
  fg[PRELIGHT] = @selected_fg_color

  engine "pixmap" {

    image {
      function = BOX
      detail = "trough"
      file = "assets/trough-progressbar.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      orientation = HORIZONTAL
    }

    image {
      function = BOX
      detail = "bar"
      file = "assets/progressbar.png"
      stretch = TRUE
      border = { 3, 3, 3, 3 }
      orientation = HORIZONTAL
    }

    image {
      function = BOX
      detail = "trough"
      file = "assets/trough-progressbar_v.png"
      border = { 4, 4, 4, 4 }
      stretch = TRUE
      orientation = VERTICAL
    }

    image {
      function = BOX
      detail = "bar"
      file = "assets/progressbar_v.png"
      stretch = TRUE
      border = { 3, 3, 3, 3 }
      orientation = VERTICAL
    }
  }
}

style "separator_menu_item" {
  xthickness = 0
  ythickness = 2

  engine "pixmap" {
    image {
      function = BOX
      file     = "assets/menu-separator.png"
      border   = {0, 0, 2, 0}
    }
  }
}

style "treeview_header" {
  ythickness = 1

  fg[PRELIGHT] = mix(0.70, @text_color, @base_color)
  font_name = "Bold"

  engine "pixmap" {

    image {
      function = BOX
      file = "assets/tree_header.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
    }
  }
}

# Treeview Rows

style "treeview" {

  xthickness = 2
  ythickness = 0

}

style "scrolled_window" {

  xthickness = 1
  ythickness = 1

  engine "pixmap" {

    image {
      function = SHADOW
      file = "assets/frame.png"
      border = { 5, 5, 5, 5 }
      stretch = TRUE
    }
  }
}

style "frame" {

  xthickness = 1
  ythickness = 1

  engine "pixmap" {

    image {
      function = SHADOW
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      shadow = IN
    }

    image {
      function = SHADOW_GAP
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      gap_start_file = "assets/frame-gap-start.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file = "assets/frame-gap-end.png"
      gap_end_border = { 0, 1, 0, 0 }
      shadow = IN
    }

    image {
      function = SHADOW
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      shadow = OUT
    }

    image {
      function = SHADOW_GAP
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      gap_start_file = "assets/frame-gap-start.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file = "assets/frame-gap-end.png"
      gap_end_border = { 0, 1, 0, 0 }
      shadow = OUT
    }

    image {
      function = SHADOW
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      shadow = ETCHED_IN
    }

    image {
      function = SHADOW_GAP
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      gap_start_file = "assets/frame-gap-start.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file = "assets/frame-gap-end.png"
      gap_end_border = { 0, 1, 0, 0 }
      shadow = ETCHED_IN
    }

    image {
      function = SHADOW
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      shadow = ETCHED_OUT
    }

    image {
      function = SHADOW_GAP
      file = "assets/frame.png"
      border = { 1, 1, 1, 1 }
      stretch = TRUE
      gap_start_file = "assets/frame-gap-start.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file = "assets/frame-gap-end.png"
      gap_end_border = { 0, 1, 0, 0 }
      shadow = ETCHED_OUT
    }
  }
}

style "gimp_toolbox_frame" {

  engine "pixmap" {

    image {
      function = SHADOW
    }

  }
}

style "toolbar" {

  engine "pixmap" {

    image {
      function = BOX
      file  = "assets/toolbar.png"
      stretch  = TRUE
      border = { 1, 1, 1, 1 }
    }

    image {
      function = HANDLE
      overlay_file = "assets/handle-h.png"
      overlay_stretch = FALSE
      orientation = HORIZONTAL
    }

    image {
      function = HANDLE
      overlay_file = "assets/handle-v.png"
      overlay_stretch = FALSE
      orientation = VERTICAL
    }

    #########
    # Lines #
    #########

    image {
      function = VLINE
      file     = "assets/border.png"
      border   = {1, 0, 0, 0}
    }

    image {
      function = HLINE
      file     = "assets/border.png"
      border   = {0, 0, 1, 0}
    }
  }
}

style "toolbar_separator" {
  GtkWidget::wide-separators  = 1
  GtkWidget::separator-width  = 1
  GtkWidget::separator-height = 1

  engine "pixmap" {
    image {
      function = BOX
      file     = "assets/border.png"
    }
  }
}

style "inline_toolbar" {

  GtkToolbar::button-relief = GTK_RELIEF_NORMAL

  engine "pixmap" {

    image {
      function = BOX
      file = "assets/inline-toolbar.png"
      stretch = TRUE
      border = { 1, 1, 1, 1 }
    }
  }
}

style "notebook_viewport" {

  bg[NORMAL] = @notebook_bg
}


style "notebook_eventbox" {

  bg[NORMAL] = @notebook_bg
  bg[ACTIVE] = @bg_color
}

style "tooltips" {

  xthickness = 8
  ythickness = 4

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

}

style "eclipse-tooltips" {

  xthickness = 8
  ythickness = 4

  bg[NORMAL] = shade(1.05, @bg_color)
  fg[NORMAL] = @text_color
  bg[SELECTED] = shade(1.05, @bg_color)

}

style "xfdesktop-icon-view" {
  XfdesktopIconView::label-alpha = 0
  XfdesktopIconView::selected-label-alpha = 100
  XfdesktopIconView::shadow-x-offset = 0
  XfdesktopIconView::shadow-y-offset = 1
  XfdesktopIconView::selected-shadow-x-offset = 0
  XfdesktopIconView::selected-shadow-y-offset = 1
  XfdesktopIconView::shadow-color = "#000000"
  XfdesktopIconView::selected-shadow-color = "#000000"
  XfdesktopIconView::shadow-blur-radius = 2
  XfdesktopIconView::cell-spacing = 2
  XfdesktopIconView::cell-padding = 6
  XfdesktopIconView::cell-text-width-proportion = 1.9

  fg[NORMAL] = @selected_fg_color
  fg[ACTIVE] = @selected_fg_color
}

style "xfwm-tabwin" {
  Xfwm4TabwinWidget::border-width = 1
  Xfwm4TabwinWidget::border-alpha = 1.0
  Xfwm4TabwinWidget::icon-size = 64
  Xfwm4TabwinWidget::alpha = 1.0
  Xfwm4TabwinWidget::border-radius = 2

  bg[NORMAL] = @bg_color
  bg[SELECTED] = @bg_color

  fg[NORMAL] = @fg_color

  engine "murrine" {
    contrast = 0.7
    glazestyle = 0
    glowstyle = 0
    highlight_shade = 1.0
    gradient_shades = {1.0,1.0,1.0,1.0}
    border_shades = { 0.8, 0.8 }
  }
}

style "xfwm-tabwin-button" {
  font_name = "bold"
  bg[SELECTED] = @selected_bg_color
}

# Chromium
style "chrome_menu_item" {

  bg[SELECTED] = @selected_bg_color

}

# Text Style
style "text" = "default" {
  fg[NORMAL] = @fg_color # FIXME: VMWare needs this?

  engine "murrine" { textstyle = 0 }
}

style "menu_text" = "menu_item" {
  engine "murrine" { textstyle = 0 }
}

style "null" {

  engine "pixmap" {

    image {
    function = BOX
    file = "assets/null.png"
    stretch = TRUE
    }
  }
}


class "GtkWidget"                                                   style "default"
class "GtkScrollbar"                                                style "scrollbar"
class "GtkButton"                                                   style "button"
class "GtkLinkButton"                                               style "link_button"
class "GtkEntry"                                                    style "entry"
class "GtkOldEditable"                                              style "entry"
class "GtkSpinButton"                                               style "spinbutton"
class "GtkNotebook"                                                 style "notebook"
class "GtkRange"                                                    style "range"
class "GtkProgressBar"                                              style "progressbar"
class "GtkScrolledWindow"                                           style "scrolled_window"
class "GtkFrame"                                                    style "frame"
class "GtkTreeView"                                                 style "treeview"
class "GtkToolbar"                                                  style "toolbar"
class "*HandleBox"                                                  style "toolbar"

widget_class "*<GtkMenu>*"                                          style "menu"
widget_class "*<GtkMenu>*"                                          style "menu_framed_box"
widget_class "*<GtkMenuItem>*"                                      style "menu_item"
widget_class "*<GtkSeparatorMenuItem>*"                             style "separator_menu_item"
widget_class "*<GtkCheckButton>*"                                   style "checkbutton"
widget_class "*<GtkComboBox>"                                       style "combobox"
widget_class "*<GtkComboBox>*<GtkButton>"                           style "combobox_button"
widget_class "*<GtkComboBox>*<GtkSeparator>"                        style "combobox_separator"
widget_class "*<GtkTreeView>*<GtkButton>*"                          style "treeview_header"
widget_class "*<GtkFileChooserDefault>*<GtkToolbar>"                style "inline_toolbar"
widget_class "*<GtkComboBoxEntry>*<GtkEntry>"                       style "combobox_entry"
widget_class "*<GtkComboBoxEntry>*<GtkButton>"                      style "combobox_entry_button"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>"     style "notebook_viewport"
widget_class "*HandleBox"                                           style "toolbar"

widget_class "*<GtkButton>*<GtkLabel>"                              style "button_label"
widget_class "*<GtkComboBox>*<GtkCellView>"                         style "button_label"
#widget_class "*<GtkFontButton>*<GtkLabel>"                          style "button_label"
#widget_class "*<GtkSpinButton>*<GtkLabel>"                          style "button_label"

widget_class "*<GtkToolbar>*<GtkButton>"                            style "toolbar_button"
widget_class "*<GtkToolbar>*<GtkButton>*<GtkLabel>"                 style "button_label"

widget_class "*<GtkCheckButton>"                                    style "toolbar_button"
widget_class "*<GtkCheckButton>*<GtkLabel>"                         style "button_label"

# Entries in notebooks draw with notebook's base color, but not if there's
# something else in the middle that draws gray again
widget_class "*<GtkNotebook>*<GtkEntry>"                                    style "notebook_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>"                      style "entry"

widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*<GtkEntry>"                 style "notebook_combobox_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*<GtkEntry>"   style "combobox_entry"

widget_class "*<GtkNotebook>*<GtkSpinButton>"                               style "notebook_button_bg"

# We also need to avoid changing fg color for the inactive notebook tab labels
widget_class "*<GtkNotebook>*<GtkLabel>"                            style "notebook_tab_label"
widget_class "*<GtkNotebook>*<GtkButton>*<GtkLabel>"                style "button_label"

# GTK tooltips
widget "gtk-tooltip*"                                               style "tooltips"

#Fix GVim tabs
widget_class "*<GtkNotebook>*<GtkEventBox>"                         style "notebook_eventbox"

# Xchat special cases
widget "*xchat-inputbox"                                            style "entry"

# GIMP
# Disable gradients completely for GimpSpinScale
#class "GimpSpinScale"                                               style "gimp_spin_scale"

# Remove borders from "Wilbert frame" in Gimp
widget_class "*<GimpToolbox>*<GtkFrame>"                            style "gimp_toolbox_frame"

# Chrome/Chromium
widget_class "*Chrom*Button*"                                       style "button"
widget_class "*<GtkCustomMenu>*<GtkCustomMenuItem>*"                style "chrome_menu_item"

# Eclipse/SWT
widget "gtk-tooltips*"                                              style "eclipse-tooltips"
widget "*swt-toolbar-flat"                                          style "null"

# Openoffice, Libreoffice
class "GtkWindow"                                                   style "toplevel_hack"
widget "*openoffice-toplevel*"                                      style "ooo_stepper_hack"

# Xfce
widget_class "*XfdesktopIconView*"                                  style "xfdesktop-icon-view"
widget "xfwm4-tabwin*"                                              style "xfwm-tabwin"
widget "xfwm4-tabwin*GtkButton*"                                    style "xfwm-tabwin-button"

# Fixes ugly text shadows for insensitive text
widget_class "*<GtkLabel>"                                          style "text"
widget_class "*<GtkMenu>*<GtkLabel>"                                style "menu_text"
widget_class "*<GtkComboBox>*<GtkCellLayout>"                       style "text"
widget_class "*<GtkNotebook>*<GtkLabel>"                            style "text"
widget_class "*<GtkNotebook>*<GtkCellLayout>"                       style "text"
