#======================================#
# steppenwolf theme: gtk2 part         #
# by nilix <nilix@nilfm.cc> April 2019 #
#======================================#
# based on...
#======================================#
# OneStepBack theme: gtk2 part         #
# jpsb: July 2015 - May 2018           #
#======================================#

#======================================#
# Color definitions
#======================================#


gtk-color-scheme = "white_color:#000000
lighter_color:#555555
base_color:#222222
darker_color:#101010
black_color:#c8c8c8
scale_color: #1f9b92
truewhite:#ffffff
trueblack:#000000
grey50:#797979
"

#======================================#
# Derived colors
#======================================#

gtk-color-scheme = "button_selected_bg_color:#797979
text_selected_bg_color:#1f9b92
text_selected_fg_color:#000000
menuitem_selected_bg_color:#1f9b92
menuitem_selected_fg_color:#000000
listitem_selected_bg_color:#1f9b92
listitem_selected_fg_color:#000000
"

#======================================#
# Styles
#======================================#

style "default" {

    base[NORMAL]        = @white_color
    text[NORMAL]        = @black_color
    bg[NORMAL]          = @base_color
    fg[NORMAL]          = @black_color

    base[PRELIGHT]      = @base_color
    text[PRELIGHT]      = @black_color
    bg[PRELIGHT]        = @base_color
    fg[PRELIGHT]        = @black_color

    base[SELECTED]      = @scale_color
    text[SELECTED]      = @listitem_selected_fg_color
    bg[SELECTED]        = @scale_color
    fg[SELECTED]        = @lighter_color

    base[ACTIVE]        = @scale_color
    text[ACTIVE]        = @listitem_selected_fg_color
    bg[ACTIVE]          = @button_selected_bg_color
    fg[ACTIVE]          = @black_color

    base[INSENSITIVE]   = @darker_color
    text[INSENSITIVE]   = @black_color
    bg[INSENSITIVE]     = @base_color
    fg[INSENSITIVE]     = @darker_color

    GtkWidget::focus-line-width = 1
    GtkWidget::focus-line-pattern = "\0\4"
    GtkWidget::link-color = @black_color
    GtkWidget::visited-link-color = @darker_color

    GtkScrollbar::min-slider-length = 30

    GtkScrollbar::has_backward_stepper = 0
    GtkScrollbar::has_forward_stepper = 0
    GtkScrollbar::has_secondary_forward_stepper = 0
    GtkScrollbar::has_secondary_backward_stepper = 0
    GtkScrolledWindow::scrollbar-spacing = 0
    GtkScrolledWindow::scrollbars-within-bevel = 1
    GtkScrollbar::trough-border = 0
    GtkScrollbar::fixed-slider-length = 30
    GtkScale::trough-side-details = 0
    GtkRange::slider-width = 6
    GtkScale::slider-length = 6
    GtkScale::slider-width = 6
    GtkScrollbar::activate-slider = 1
    GtkScrolledWindow::scrollbar-spacing = 0
    GtkScrolledWindow::scrollbars-within-bevel = 1

    GtkMenuBar::shadow-type = 0
    GtkToolbar::shadow-type = 0
    GtkButton::default-border = {0,0,0,0}

    GtkProgressBar::min-horizontal-bar-height = 6
    GtkProgressBar::min-vertical-bar-width = 6
    
  engine "pixmap" {
    image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active.png"
      border   = { 0,0,0,2 }
      stretch  = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive.png"
      border   = { 0,0,0,2 }
      stretch  = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-180.png"
      border   = { 0,0,2,0 }
      stretch  = TRUE
      gap_side = TOP
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive.png"
      border   = { 0,0,2,0 }
      stretch  = TRUE
      gap_side = TOP
    }

        image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-90.png"
      border   = { 0,2,0,0 }
      stretch  = TRUE
      gap_side = LEFT
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive-90.png"
      border   = { 0,2,0,0 }
      stretch  = TRUE
      gap_side = LEFT
    }

        image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-279.png"
      border   = { 2,0,0,0 }
      stretch  = TRUE
      gap_side = RIGHT
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive-90.png"
      border   = { 2,0,0,0 }
      stretch  = TRUE
      gap_side = RIGHT
    }

     image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = LEFT
    }

         image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = RIGHT
    }

             image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = TOP
    }

             image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = BOTTOM
    }

    # Standalone frame
    image {
      function = BOX
      detail   = "notebook"
      file     = "../img/base.png"
      border   = {0,0,0,0}
      stretch  = TRUE
    }
}
}

style "button" {

  xthickness = 4
  ythickness = 4


  engine "pixmap" {

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

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

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

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


style "scalebar-scrollbar" {

    bg[NORMAL]          = @base_color
    fg[NORMAL]          = @black_color
    bg[INSENSITIVE] = @white_color

    bg[PRELIGHT]        = @lighter_color

    bg[ACTIVE]          = @darker_color

    engine "pixmap" {

        image {
            function        = SLIDER
            state           = NORMAL
            file            = "../img/scrollbar_horizontal.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            state           = INSENSITIVE
            file            = "../img/scrollbar_horizontal.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            state           = PRELIGHT
            file            = "../img/scrollbar_horizontal.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            state           = ACTIVE
            file            = "../img/scrollbar_horizontal.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = HORIZONTAL
        }
        image {
            function        = SLIDER
            state           = NORMAL
            file            = "../img/scrollbar_vertical.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER
            state           = INSENSITIVE
            file            = "../img/scrollbar_vertical.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER
            state           = PRELIGHT
            file            = "../img/scrollbar_vertical.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
        image {
            function        = SLIDER
            state           = ACTIVE
            file            = "../img/scrollbar_vertical.png"
            border          = { 2, 2, 2, 2 }
            stretch         = TRUE
            orientation     = VERTICAL
        }
    }
}

style "tooltip" {
  bg[NORMAL] = @trueblack
  fg[NORMAL] = @grey50

  bg[PRELIGHT] = @trueblack
  fg[PRELIGHT] = @grey50
}

style "progressbar" {

    bg[NORMAL]          = @darker_color
    fg[NORMAL]          = @black_color # XXX

    bg[PRELIGHT]        = @scale_color # XXX
    fg[PRELIGHT]        = @lighter_color

    engine "pixmap" {
      image{
        function = BOX
        detail = "bar"
        file = "../img/scrollbar_horizontal.png"
        stretch = TRUE
        orientation = HORIZONTAL
      }
      image{
        function = BOX
        detail = "bar"
        file = "../img/scrollbar_horizontal.png"
        stretch = TRUE
        orientation = VERTICAL
      }
    }

}

style "menu" {
    bg[NORMAL] = @trueblack
    base[NORMAL] = @trueblack
    GtkMenu::horizontal-padding = 0
    GtkMenu::vertical-padding = 0
    GtkMenu::horizontal-offset = 0
    GtkMenuItem::border = 0
    GtkSeparatorMenuItem::horizontal-padding = 0
}

style "menuitem" {

    text[NORMAL]        = @grey50
    base[NORMAL]        = @trueblack
    bg[NORMAL]          = @trueblack
    fg[NORMAL]          = @grey50

    text[PRELIGHT]      = @menuitem_selected_fg_color
    bg[PRELIGHT]        = @menuitem_selected_bg_color
    fg[PRELIGHT]        = @menuitem_selected_fg_color

    fg[SELECTED]        = @menuitem_selected_fg_color # fg menu sélectionné libre office
    fg[INSENSITIVE]        = "#202020"
    text[INSENSITIVE]       = "#202020"
}

style "check-radio" {

    bg[PRELIGHT]        = @base_color

    base[INSENSITIVE]   = @lighter_color
    text[INSENSITIVE]   = @darker_color
    fg[INSENSITIVE]     = @base_color
}

style "menubar" {
    bg[NORMAL] = @base_color
    fg[NORMAL] = @black_color

    fg[PRELIGHT]        = @menuitem_selected_fg_color  # menu sélectionné geogebra

    fg[SELECTED]        = @menuitem_selected_fg_color # menu sélectionné thunderbird

}

style "paned" {

    bg[PRELIGHT]        = @base_color   # séparateurs mobiles hover

}

style "gimp-loadingbar" {

    bg[PRELIGHT]        = @scale_color   # loadingbar de gimp !

}

style "notebook" {

    bg[SELECTED] = @base_color
    bg[NORMAL] = @base_color
    base[NORMAL] = @white_color
    fg[ACTIVE] = @black_color
    fg[PRELIGHT] = @black_color
    bg[ACTIVE]          = @darker_color   # pour variantes de couleur
    
  engine "pixmap" {
    image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active.png"
      border   = { 0,0,0,2 }
      stretch  = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive.png"
      border   = { 0,0,0,2 }
      stretch  = TRUE
      gap_side = BOTTOM
    }

    image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-180.png"
      border   = { 0,0,2,0 }
      stretch  = TRUE
      gap_side = TOP
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive.png"
      border   = { 0,0,2,0 }
      stretch  = TRUE
      gap_side = TOP
    }

        image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-90.png"
      border   = { 0,2,0,0 }
      stretch  = TRUE
      gap_side = LEFT
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive-90.png"
      border   = { 0,2,0,0 }
      stretch  = TRUE
      gap_side = LEFT
    }

        image {
      function = EXTENSION
      state    = NORMAL
      file     = "../img/tab-active-279.png"
      border   = { 2,0,0,0 }
      stretch  = TRUE
      gap_side = RIGHT
    }

    image {
      function = EXTENSION
      file     = "../img/tab-inactive-90.png"
      border   = { 2,0,0,0 }
      stretch  = TRUE
      gap_side = RIGHT
    }

     image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = LEFT
    }

         image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = RIGHT
    }

             image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = TOP
    }

             image {
      function   = BOX_GAP
      detail     = "notebook"
      file       = "../img/base.png"
      border     = {0,0,0,0}
      stretch    = TRUE
      gap_file   = "../img/base.png"
      gap_border = {0,0,0,0}
      gap_side   = BOTTOM
    }

    # Standalone frame
    image {
      function = BOX
      detail   = "notebook"
      file     = "../img/base.png"
      border   = {0,0,0,0}
      stretch  = TRUE
    }
}

}

style "entry" {

    base[PRELIGHT]      = @text_selected_bg_color
    text[PRELIGHT]      = @text_selected_fg_color

    base[SELECTED]      = @text_selected_bg_color
    text[SELECTED]      = @text_selected_fg_color

    base[ACTIVE]        = @text_selected_bg_color
    text[ACTIVE]        = @text_selected_fg_color
}

style "combobox" {
    text[PRELIGHT]      = @black_color

}

#======================================#
# Styles for testing
#======================================#

style "red" {

    base[NORMAL]        = "red"
    text[NORMAL]        = "red"
    fg[NORMAL]          = "red"
    bg[NORMAL]          = "red"

    base[PRELIGHT]      = "red"
    text[PRELIGHT]      = "red"
    bg[PRELIGHT]        = "red"
    fg[PRELIGHT]        = "red"

    base[SELECTED]      = "red"
    text[SELECTED]      = "red"
    bg[SELECTED]        = "red"
    fg[SELECTED]        = "red"

    base[ACTIVE]        = "red"
    text[ACTIVE]        = "red"
    bg[ACTIVE]          = "red"
    fg[ACTIVE]          = "red"

    base[INSENSITIVE]   = "red"
    text[INSENSITIVE]   = "red"
    bg[INSENSITIVE]     = "red"
    fg[INSENSITIVE]     = "red"

}

style "test" {

    base[NORMAL]        = "aqua"
    text[NORMAL]        = "green"
    bg[NORMAL]          = "magenta"
    fg[NORMAL]          = "blue"

    base[PRELIGHT]      = "green"
    text[PRELIGHT]      = "red"
    bg[PRELIGHT]        = "lime"
    fg[PRELIGHT]        = "maroon"

    base[SELECTED]      = "navy"
    text[SELECTED]      = "red"
    bg[SELECTED]        = "olive"
    fg[SELECTED]        = "purple"

    base[ACTIVE]        = "red"
    text[ACTIVE]        = "green"
    bg[ACTIVE]          = "teal"
    fg[ACTIVE]          = "yellow"

    base[INSENSITIVE]   = "purple"
    text[INSENSITIVE]   = "green"
    bg[INSENSITIVE]     = "yellow"
    fg[INSENSITIVE]     = "white"

}

#======================================#
# Widgets
#======================================#

class "*" style "default"
widget_class "*Scale*" style "scalebar-scrollbar"
widget_class "*Scrollbar*" style "scalebar-scrollbar"
widget_class "*Menu*" style "menu"
widget_class "*MenuItem*" style "menuitem"
widget_class "*MenuBar*" style "menubar"
widget_class "*Paned*" style "paned"
widget_class "*Gimp*Menu*" style "notebook"
widget_class "*ProgressBar*" style "progressbar"
class "GtkCheck*" style "check-radio"
class "GtkRadio*" style "check-radio"
widget_class "*Gimp*Paned*Bar*" style "gimp-loadingbar"
widget_class "*Notebook*" style "notebook"
widget_class "*Entry*" style "entry"
widget_class "*ComboBox*" style "combobox"
widget_class "*Button*" style "default"
widget_class "*Option*" style "default"
widget "gtk-tooltip*" style "tooltip"
widget_class "*Notif*" style "tooltip"
widget_class "*otif*" style "tooltip"
class "GtkButton" style "button"
class "GtkMenu" style "menu"

#widget_class "*Link*" style "red"
#widget_class "*Button*" style "red"
#widget_class "*Separator*" style "red"
#widget_class "*ToolButton*" style "red"
#widget_class "*ToolBar*" style "red"
#widget_class "*Option*" style "red"
#widget_class "*ScaleButton*" style "red"
#widget_class "*List*" style "red"
#widget_class "*Notebook*" style "red"
#widget_class "*Frame*" style "red"
#widget_class "*Label*" style "red"
#widget_class "*Window" style "red"



# jpsb le 12 sept 2015: bug curieux: la barre d'avancement de xsane ne respecte la couleur demandée qu'après un redémarrage du thème, sinon la couleur est lime !

# qt4 et flèches d'ascenseurs incompatible avec engine "pixmap"
# barre de prog qt4

#======================================#
# tweaks
#======================================#
# avoid wrong background color in rox when switching theme
style "rox"
{
    base[NORMAL]        = @base_color
    bg[NORMAL]          = @base_color
}

# widget_class "*ViewCollection*" style "rox"

