style "default" {

  xthickness = 1
  ythickness = 1

  # Style Properties

  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 = 3
  GtkSeparatorMenuItem::wide-separators = 1
  GtkSeparatorMenuItem::separator-height = 1

  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 = 15
  GtkScale::slider_width = 15
  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

  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.02, @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[SELECTED] = @selected_fg_color
  fg[INSENSITIVE] = @insensitive_fg_color
  fg[ACTIVE] = @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

  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/line-v.png"
      border = { 0, 0, 0, 0 }
      stretch = TRUE
    }

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

    # Focuslines

    image {
      function = FOCUS
      file = "assets/focus-line.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

  engine "pixmap" { # For menus that use horizontal lines rather than gtkseparator

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

style "menu_item"
{
  xthickness = 2
  ythickness = 4

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

	fg[NORMAL] = @fg_color
	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
    }

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

style "button" {

  xthickness = 4
  ythickness = 4

  engine "pixmap" {

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

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

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

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

style "checkbutton" {

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

}

style "entry" {

  xthickness = 6
  ythickness = 4

  base[NORMAL] = @base_color
  base[INSENSITIVE] = @insensitive_bg_color

  engine "pixmap" {

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

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

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

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = NORMAL
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = ACTIVE
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }
  }
}

style "notebook_entry" {
  xthickness = 6

  engine "pixmap" {

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

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

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

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = NORMAL
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = ACTIVE
      overlay_file = "assets/null.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }
  }
}

style "notebook_tab_label" {

 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 "libreoffice_entry" {

  engine "pixmap" {

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = NORMAL
      overlay_file = "assets/entry-border-fill.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = ACTIVE
      overlay_file = "assets/entry-border-fill.png"
      overlay_border = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }

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

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

style "standalone_entry" {

  engine "pixmap" {

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = NORMAL
      file = "assets/entry-border-fill.png"
      stretch = TRUE
      border = { 0, 0, 0, 0 }
    }

    image {
      function = FLAT_BOX
      detail = "entry_bg"
      state = ACTIVE
      file = "assets/entry-border-fill.png"
      stretch = TRUE
      border = { 0, 0, 0, 0 }
    }

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

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

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

  engine "pixmap" {

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

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

  base[NORMAL] = @base_color

  engine "pixmap" {

    image {
      function = FLAT_BOX
      recolorable = TRUE
      state = NORMAL
      file = "assets/null.png"
      stretch = TRUE
    }
  }
}    

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
    }

    image {
      function = VLINE
      recolorable = TRUE
      file = "assets/null.png"
    }

    image {
      function = HLINE
      recolorable = TRUE
      file = "assets/null.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" {
  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 "GtkEntry"                                                    style "entry"
class "GtkOldEditable"                                              style "entry"
class "GtkSpinButton"                                               style "spinbutton"
class "GtkNotebook"                                                 style "notebook"
class "GtkRange"                                                    style "range"
class "GtkProgressBar"                                              style "progressbar"
class "GtkSeparatorMenuItem"                                        style "separator_menu_item"
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 "*<GtkMenuItem>*"                                      style "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"

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

# We also need to avoid changing fg color for the inactive notebook tab labels
widget_class "*<GtkNotebook>.<GtkLabel>"                            style "notebook_tab_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"

# We use this weird selector to target an offscreen entry as created
# by Chrome/Chromium to derive the style for its toolbar
widget_class "<GtkEntry>"                                           style "standalone_entry"

# 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"
widget "*openoffice-toplevel*GtkEntry"                              style "libreoffice_entry"
widget "*openoffice-toplevel*GtkSpinButton"                         style "libreoffice_entry"
widget "*libreoffice-toplevel*GtkEntry"                             style "libreoffice_entry"
widget "*libreoffice-toplevel*GtkSpinButton"                        style "libreoffice_entry"

# 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 "*<GtkComboBox>*<GtkCellLayout>"                       style "text"
widget_class "*<GtkNotebook>*<GtkLabel>"                            style "text"
widget_class "*<GtkNotebook>*<GtkCellLayout>"                       style "text"
