# vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:
#
# This file, unlike hacks.rc, contains legitimate cases we need to handle, e.g.
# custom widgets, programs giving us a chance to alter their UI to fit more with
# the theme or stuff that is supposed to look different, like panels.

# Thunar

style "thunar_location_button" = "location_button" {
  ThunarLocationButtons::spacing = 0

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "assets/null.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      file     = "assets/pathbar_button_prelight.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "assets/pathbar_button_active.png"
      border   = { 0, 0, 0, 2 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      file     = "assets/null.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
  }
}

widget_class "*ThunarLocationButtons*" style "thunar_location_button"

# TODO: This could really look nicer
style "gimp_spin_scale" {
  # Spin background
  bg[NORMAL] = @base_color

  engine "pixmap" {
    image {
      function        = BOX
      state           = NORMAL
      detail          = "spinbutton_up"
      overlay_file    = "assets/pan-up-alt.png"
      overlay_stretch = FALSE
    }

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

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

    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_up"
      overlay_file    = "assets/pan-up-alt-insensitive.png"
      overlay_stretch = FALSE
    }

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

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

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

    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_down"
      overlay_file    = "assets/pan-down-alt-insensitive.png"
      overlay_stretch = FALSE
    }
  }
}

style "chrome_gtk_frame" {
  ChromeGtkFrame::frame-color                    = @titlebar_bg_color
  ChromeGtkFrame::inactive-frame-color           = @titlebar_bg_color
  ChromeGtkFrame::incognito-frame-color          = @titlebar_bg_color
  ChromeGtkFrame::incognito-inactive-frame-color = @titlebar_bg_color

  ChromeGtkFrame::frame-gradient-size = 0
}

# Disable spin button assets for GimpSpinScale
class "GimpSpinScale" style "gimp_spin_scale"

# Chromium lets us define some colours and settings for better integration
class "ChromeGtkFrame" style "chrome_gtk_frame"

#
# (He)XChat
#

style "chat-entry" {
  xthickness = 4
  ythickness = 4

  # enforce white backgrounds
  bg[NORMAL] = @selected_fg_color
  bg[PRELIGHT] = @selected_fg_color
  bg[ACTIVE] = @selected_fg_color
  bg[SELECTED] = @selected_bg_color

  engine "pixmap" {
    image {
      function = SHADOW
      detail   = "entry"
      file     = "assets/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
    }
    image {
      function = FLAT_BOX
      detail   = "entry_bg"
      file     = "assets/null.png"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
    }
  }
}

widget "*xchat-inputbox" style "chat-entry"
class "SexySpellEntry"   style:highest "chat-entry"