[gnome-themes-standard/wip/jimmac/updated-gtk2: 100/106] Restructered rc.



commit 6b6a174f68d796c98e37587705aa990ae581f430
Author: Juraj Fiala <doctorjellyface riseup net>
Date:   Tue Mar 1 20:40:07 2016 +0100

    Restructered rc.
    
     - things are now done more properly
     - slight speed improvements
     - "new" notebook look
     - menu scroll arrows now look as in gtk3
     - cleaner style matching

 themes/Adwaita/gtk-2.0/assets.svg                  |  203 +++-
 themes/Adwaita/gtk-2.0/assets.txt                  |   13 +-
 themes/Adwaita/gtk-2.0/assets/tab-down-active.png  |  Bin 0 -> 233 bytes
 themes/Adwaita/gtk-2.0/assets/tab-down.png         |  Bin 0 -> 234 bytes
 themes/Adwaita/gtk-2.0/assets/tab-gap.png          |  Bin 142 -> 0 bytes
 themes/Adwaita/gtk-2.0/assets/tab-horz-active.png  |  Bin 149 -> 0 bytes
 themes/Adwaita/gtk-2.0/assets/tab-horz-gap.png     |  Bin 0 -> 144 bytes
 themes/Adwaita/gtk-2.0/assets/tab-left-active.png  |  Bin 0 -> 233 bytes
 themes/Adwaita/gtk-2.0/assets/tab-left.png         |  Bin 0 -> 239 bytes
 themes/Adwaita/gtk-2.0/assets/tab-right-active.png |  Bin 0 -> 228 bytes
 themes/Adwaita/gtk-2.0/assets/tab-right.png        |  Bin 0 -> 232 bytes
 themes/Adwaita/gtk-2.0/assets/tab-up-active.png    |  Bin 0 -> 232 bytes
 themes/Adwaita/gtk-2.0/assets/tab-up.png           |  Bin 0 -> 238 bytes
 themes/Adwaita/gtk-2.0/assets/tab-vert-active.png  |  Bin 148 -> 0 bytes
 themes/Adwaita/gtk-2.0/assets/tab-vert-gap.png     |  Bin 0 -> 144 bytes
 themes/Adwaita/gtk-2.0/main.rc                     | 1499 ++++++++++----------
 16 files changed, 939 insertions(+), 776 deletions(-)
---
diff --git a/themes/Adwaita/gtk-2.0/assets.svg b/themes/Adwaita/gtk-2.0/assets.svg
index fc63b9c..814196a 100644
--- a/themes/Adwaita/gtk-2.0/assets.svg
+++ b/themes/Adwaita/gtk-2.0/assets.svg
@@ -596,6 +596,17 @@
        y1="109.80856"
        x2="5"
        y2="82.123726" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4846">
+      <rect
+         
style="opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4848"
+         width="8"
+         height="3"
+         x="185"
+         y="1" />
+    </clipPath>
   </defs>
   <sodipodi:namedview
      id="base"
@@ -604,9 +615,9 @@
      borderopacity="1"
      inkscape:pageopacity="1"
      inkscape:pageshadow="2"
-     inkscape:zoom="11.313708"
-     inkscape:cx="233.34155"
-     inkscape:cy="439.7733"
+     inkscape:zoom="15.999999"
+     inkscape:cx="186.14904"
+     inkscape:cy="467.58965"
      inkscape:current-layer="layer1"
      inkscape:document-units="px"
      showgrid="false"
@@ -2366,46 +2377,6 @@
          y="107.21632" />
     </g>
     <g
-       id="tab-vert-active"
-       inkscape:label="#g5146"
-       transform="translate(194,-221.00006)">
-      <rect
-         y="232.00006"
-         x="10"
-         height="1"
-         width="2"
-         id="rect5142"
-         
style="opacity:1;fill:#4a90d9;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
-    </g>
-    <g
-       transform="matrix(0,1,-1,0,241,220)"
-       inkscape:label="#g5146"
-       id="tab-right-active" />
-    <g
-       transform="matrix(1,0,0,-1,4,457)"
-       inkscape:label="#g5146"
-       id="tab-down-active" />
-    <g
-       id="tab-horz-active"
-       inkscape:label="#g5146"
-       transform="matrix(0,1,1,0,-28,-3)">
-      <rect
-         y="232"
-         x="10"
-         height="1"
-         width="2"
-         id="rect5216"
-         
style="opacity:1;fill:#4a90d9;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
-    </g>
-    <rect
-       inkscape:label="#rect5015"
-       y="14"
-       x="208"
-       height="1"
-       width="1"
-       id="tab-gap"
-       
style="opacity:1;fill:#4a90d9;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
-    <g
        id="handle-vert"
        inkscape:label="#g5020">
       <rect
@@ -4742,5 +4713,151 @@
          id="rect3336-4-2"
          
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9d9d99;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
 />
     </g>
+    <g
+       id="tab-up-active"
+       inkscape:label="#g4851">
+      <path
+         sodipodi:nodetypes="cssssc"
+         inkscape:connector-curvature="0"
+         id="rect4838"
+         d="m 185.5,5 0,-0.5 c 0,-1.662 1.338,-3 3,-3 l 1,0 c 1.662,0 3,1.338 3,3 l 0,0.5"
+         
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <rect
+         clip-path="url(#clipPath4846)"
+         
style="opacity:0.98999999;fill:#4a90d9;fill-opacity:1;stroke:#4a90d9;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4840"
+         width="7"
+         height="14"
+         x="185.5"
+         y="1.5"
+         ry="3" />
+    </g>
+    <g
+       id="tab-horz-gap"
+       inkscape:label="#g5413">
+      <rect
+         
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect5015"
+         width="1"
+         height="1"
+         x="196"
+         y="14"
+         inkscape:label="#rect5015" />
+      <rect
+         y="13.984354"
+         x="195.00002"
+         height="1"
+         width="3"
+         id="rect5411"
+         
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    </g>
+    <g
+       inkscape:label="#g4851"
+       id="tab-down-active"
+       transform="matrix(1,0,0,-1,10,6)">
+      <path
+         
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 185.5,5 0,-0.5 c 0,-1.662 1.338,-3 3,-3 l 1,0 c 1.662,0 3,1.338 3,3 l 0,0.5"
+         id="path5419"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssssc" />
+      <rect
+         ry="3"
+         y="1.5"
+         x="185.5"
+         height="14"
+         width="7"
+         id="rect5421"
+         
style="opacity:0.98999999;fill:#4a90d9;fill-opacity:1;stroke:#4a90d9;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         clip-path="url(#clipPath4846)" />
+    </g>
+    <g
+       inkscape:label="#g4851"
+       id="tab-left-active"
+       transform="matrix(0,-1,1,0,180,207)">
+      <path
+         
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 185.5,5 0,-0.5 c 0,-1.662 1.338,-3 3,-3 l 1,0 c 1.662,0 3,1.338 3,3 l 0,0.5"
+         id="path4836"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssssc" />
+      <rect
+         ry="3"
+         y="1.5"
+         x="185.5"
+         height="14"
+         width="7"
+         id="rect4839"
+         
style="opacity:0.98999999;fill:#4a90d9;fill-opacity:1;stroke:#4a90d9;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         clip-path="url(#clipPath4846)" />
+    </g>
+    <g
+       transform="matrix(0,-1,-1,0,191,207)"
+       id="tab-right-active"
+       inkscape:label="#g4851">
+      <path
+         sodipodi:nodetypes="cssssc"
+         inkscape:connector-curvature="0"
+         id="path4843"
+         d="m 185.5,5 0,-0.5 c 0,-1.662 1.338,-3 3,-3 l 1,0 c 1.662,0 3,1.338 3,3 l 0,0.5"
+         
style="opacity:0.98999999;fill:#ffffff;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <rect
+         clip-path="url(#clipPath4846)"
+         
style="opacity:0.98999999;fill:#4a90d9;fill-opacity:1;stroke:#4a90d9;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4845"
+         width="7"
+         height="14"
+         x="185.5"
+         y="1.5"
+         ry="3" />
+    </g>
+    <g
+       inkscape:label="#g5413"
+       id="tab-vert-gap"
+       transform="matrix(0,1,-1,0,210.99219,-180.00784)">
+      <rect
+         inkscape:label="#rect5015"
+         y="14"
+         x="196"
+         height="1"
+         width="1"
+         id="rect4849"
+         
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <rect
+         
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4851"
+         width="3"
+         height="1"
+         x="195.00002"
+         y="13.984354" />
+    </g>
+    <path
+       sodipodi:nodetypes="cssssc"
+       inkscape:connector-curvature="0"
+       id="tab-up"
+       d="m 175.5,5 0,-0.5 c 0,-1.662 1.338,-3 3,-3 l 1,0 c 1.662,0 3,1.338 3,3 l 0,0.5"
+       
style="opacity:0.98999999;fill:#f1f1f1;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       inkscape:label="#path4855" />
+    <path
+       
style="opacity:0.98999999;fill:#f1f1f1;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 173.5,22 -0.5,0 c -1.662,0 -3,-1.338 -3,-3 l 0,-1 c 0,-1.662 1.338,-3 3,-3 l 0.5,0"
+       id="tab-left"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssc"
+       inkscape:label="#path4866" />
+    <path
+       inkscape:label="#path4866"
+       sodipodi:nodetypes="cssssc"
+       inkscape:connector-curvature="0"
+       id="tab-right"
+       d="m 175.5,22 0.5,0 c 1.662,0 3,-1.338 3,-3 l 0,-1 c 0,-1.662 -1.338,-3 -3,-3 l -0.5,0"
+       
style="opacity:0.98999999;fill:#f1f1f1;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       inkscape:label="#path4855"
+       
style="opacity:0.98999999;fill:#f1f1f1;fill-opacity:1;stroke:#9d9d99;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 175.5,7 0,0.5 c 0,1.662 1.338,3 3,3 l 1,0 c 1.662,0 3,-1.338 3,-3 l 0,-0.5"
+       id="tab-down"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssc" />
   </g>
 </svg>
diff --git a/themes/Adwaita/gtk-2.0/assets.txt b/themes/Adwaita/gtk-2.0/assets.txt
index afbd538..732b4d1 100644
--- a/themes/Adwaita/gtk-2.0/assets.txt
+++ b/themes/Adwaita/gtk-2.0/assets.txt
@@ -117,9 +117,16 @@ scale-horz-trough
 scale-horz-trough-active
 scale-vert-trough
 scale-vert-trough-active
-tab-horz-active
-tab-vert-active
-tab-gap
+tab-left
+tab-left-active
+tab-right
+tab-right-active
+tab-up
+tab-up-active
+tab-down
+tab-down-active
+tab-horz-gap
+tab-vert-gap
 treeview-pan-up
 treeview-pan-up-hover
 treeview-pan-up-active
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-down-active.png 
b/themes/Adwaita/gtk-2.0/assets/tab-down-active.png
new file mode 100644
index 0000000..a755c61
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-down-active.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-down.png b/themes/Adwaita/gtk-2.0/assets/tab-down.png
new file mode 100644
index 0000000..d4b9a66
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-down.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-horz-gap.png b/themes/Adwaita/gtk-2.0/assets/tab-horz-gap.png
new file mode 100644
index 0000000..92d7c7f
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-horz-gap.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-left-active.png 
b/themes/Adwaita/gtk-2.0/assets/tab-left-active.png
new file mode 100644
index 0000000..80dc99f
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-left-active.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-left.png b/themes/Adwaita/gtk-2.0/assets/tab-left.png
new file mode 100644
index 0000000..44616d8
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-left.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-right-active.png 
b/themes/Adwaita/gtk-2.0/assets/tab-right-active.png
new file mode 100644
index 0000000..bd514f7
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-right-active.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-right.png b/themes/Adwaita/gtk-2.0/assets/tab-right.png
new file mode 100644
index 0000000..20c7f53
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-right.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-up-active.png b/themes/Adwaita/gtk-2.0/assets/tab-up-active.png
new file mode 100644
index 0000000..18a07ad
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-up-active.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-up.png b/themes/Adwaita/gtk-2.0/assets/tab-up.png
new file mode 100644
index 0000000..5d75771
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-up.png differ
diff --git a/themes/Adwaita/gtk-2.0/assets/tab-vert-gap.png b/themes/Adwaita/gtk-2.0/assets/tab-vert-gap.png
new file mode 100644
index 0000000..ef13728
Binary files /dev/null and b/themes/Adwaita/gtk-2.0/assets/tab-vert-gap.png differ
diff --git a/themes/Adwaita/gtk-2.0/main.rc b/themes/Adwaita/gtk-2.0/main.rc
index 16f686e..617b1d2 100644
--- a/themes/Adwaita/gtk-2.0/main.rc
+++ b/themes/Adwaita/gtk-2.0/main.rc
@@ -80,6 +80,7 @@ style "default" {
   GtkMenuBar::internal-padding = 0
   GtkMenu::horizontal-padding  = 0
   GtkMenu::vertical-padding    = 0
+  GtkMenu::double-arrows       = 0
   GtkMenuItem::arrow-scaling   = 1
   GtkMenuItem::toggle-spacing  = 10
 
@@ -96,7 +97,7 @@ style "default" {
 
   GtkExpander::expander-size = 16
 
-  GtkNotebook::tab-overlap = -8
+  GtkNotebook::tab-overlap = 4
 
   ##########
   # Colors #
@@ -128,6 +129,10 @@ style "default" {
 
   # For succinctness, all reasonable pixmap options remain here
 
+  # Draw frame around menu in a non-compositied environment
+  # This needs to go before pixmap because we need to override some stuff
+  engine "adwaita" {}
+
   engine "pixmap" {
 
     #################
@@ -382,6 +387,82 @@ style "default" {
     # Arrows #
     ##########
 
+    # Overrides
+
+    # Disable arrows in spinbuttons
+    image {
+      function = ARROW
+      detail = "spinbutton"
+    }
+
+    # Disable arrows for qt in scrollbars
+    image {
+      function = ARROW
+      detail   = "vscrollbar"
+    }
+    image {
+      function = ARROW
+      detail   = "hscrollbar"
+    }
+
+    # Menu arrows
+
+    image {
+      function        = ARROW
+      state           = NORMAL
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-left.png"
+      overlay_stretch = FALSE
+      arrow_direction = LEFT
+    }
+
+    image {
+      function        = ARROW
+      state           = PRELIGHT
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-left-hover.png"
+      overlay_stretch = FALSE
+      arrow_direction = LEFT
+    }
+
+    image {
+      function        = ARROW
+      state           = INSENSITIVE
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-left-insensitive.png"
+      overlay_stretch = FALSE
+      arrow_direction = LEFT
+    }
+
+    image {
+      function        = ARROW
+      state           = NORMAL
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-right.png"
+      overlay_stretch = FALSE
+      arrow_direction = RIGHT
+    }
+
+    image {
+      function        = ARROW
+      state           = PRELIGHT
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-right-hover.png"
+      overlay_stretch = FALSE
+      arrow_direction = RIGHT
+    }
+
+    image {
+      function        = ARROW
+      state           = INSENSITIVE
+      detail          = "menuitem"
+      overlay_file    = "assets/menu-pan-right-insensitive.png"
+      overlay_stretch = FALSE
+      arrow_direction = RIGHT
+    }
+
+    # Regular arrows
+
     image {
       function        = ARROW
       state           = NORMAL
@@ -574,6 +655,13 @@ style "default" {
     ###########
 
     image {
+      function        = HANDLE
+      detail          = "handlebox"
+      overlay_file    = "assets/handle.png"
+      overlay_stretch = FALSE
+    }
+
+    image {
       function    = HANDLE
       file        = "assets/handle-horz.png"
       border      = {0, 0, 4, 4}
@@ -587,6 +675,10 @@ style "default" {
       orientation = VERTICAL
     }
 
+    image {
+      function = RESIZE_GRIP
+    }
+
     #############
     # Expanders #
     #############
@@ -597,9 +689,7 @@ style "default" {
       file           = "assets/pan-down.png"
     }
 
-    #######
-    # LTR #
-    #######
+    # LTR
 
     image {
       function       = EXPANDER
@@ -622,9 +712,7 @@ style "default" {
       direction      = LTR
     }
 
-    #######
-    # RTL #
-    #######
+    # RTL
 
     image {
       function       = EXPANDER
@@ -647,34 +735,145 @@ style "default" {
       direction      = RTL
     }
 
-    ##########
-    # Others #
-    ##########
+    #############
+    # Notebooks #
+    #############
+
+    # Left
 
     image {
-      function = RESIZE_GRIP
+      function = EXTENSION
+      state    = NORMAL
+      file     = "assets/tab-left-active.png"
+      border   = {3, 0, 3, 3}
+      stretch  = TRUE
+      gap_side = RIGHT
     }
 
-    ###########
-    # Shadows # ( this area needs help :P )
-    ###########
+    image {
+      function = EXTENSION
+      file     = "assets/tab-left.png"
+      border   = {3, 0, 3, 3}
+      stretch  = TRUE
+      gap_side = RIGHT
+    }
+
+    # Right
 
     image {
-      function = SHADOW_GAP
+      function = EXTENSION
+      state    = NORMAL
+      file     = "assets/tab-right-active.png"
+      border   = {0, 3, 3, 3}
+      stretch  = TRUE
+      gap_side = LEFT
     }
 
-  }
-}
+    image {
+      function = EXTENSION
+      file     = "assets/tab-right.png"
+      border   = {0, 3, 3, 3}
+      stretch  = TRUE
+      gap_side = LEFT
+    }
 
-style "scrollbar" {
+    # Up
 
-  engine "pixmap" {
+    image {
+      function = EXTENSION
+      state    = NORMAL
+      file     = "assets/tab-up-active.png"
+      border   = {3, 3, 3, 0}
+      stretch  = TRUE
+      gap_side = BOTTOM
+    }
 
-    # Disable arrows for qt
     image {
-      function = ARROW
+      function = EXTENSION
+      file     = "assets/tab-up.png"
+      border   = {3, 3, 3, 0}
+      stretch  = TRUE
+      gap_side = BOTTOM
+    }
+
+    # Down
+
+    image {
+      function = EXTENSION
+      state    = NORMAL
+      file     = "assets/tab-down-active.png"
+      border   = {3, 3, 0, 3}
+      stretch  = TRUE
+      gap_side = TOP
+    }
+
+    image {
+      function = EXTENSION
+      file     = "assets/tab-down.png"
+      border   = {3, 3, 0, 3}
+      stretch  = TRUE
+      gap_side = TOP
+    }
+
+    # Inner frame
+
+    image {
+      function   = BOX_GAP
+      detail     = "notebook"
+      file       = "assets/frame-notebook.png"
+      border     = {1, 1, 1, 1}
+      stretch    = TRUE
+      gap_file   = "assets/tab-vert-gap.png"
+      gap_border = {1, 0, 1, 1}
+      gap_side   = LEFT
+    }
+
+    image {
+      function   = BOX_GAP
+      detail     = "notebook"
+      file       = "assets/frame-notebook.png"
+      border     = {1, 1, 1, 1}
+      stretch    = TRUE
+      gap_file   = "assets/tab-vert-gap.png"
+      gap_border = {0, 1, 1, 1}
+      gap_side   = RIGHT
+    }
+
+    image {
+      function   = BOX_GAP
+      detail     = "notebook"
+      file       = "assets/frame-notebook.png"
+      border     = {1, 1, 1, 1}
+      stretch    = TRUE
+      gap_file   = "assets/tab-horz-gap.png"
+      gap_border = {1, 1, 1, 0}
+      gap_side   = TOP
+    }
+
+    image {
+      function   = BOX_GAP
+      detail     = "notebook"
+      file       = "assets/frame-notebook.png"
+      border     = {1, 1, 1, 1}
+      stretch    = TRUE
+      gap_file   = "assets/tab-horz-gap.png"
+      gap_border = {1, 1, 0, 1}
+      gap_side   = BOTTOM
+    }
+
+    # Standalone frame
+    image {
+      function = BOX
+      detail   = "notebook"
+      file     = "assets/frame-notebook.png"
+      border   = {1, 1, 1, 1}
+      stretch  = TRUE
     }
 
+    ##############
+    # Scrollbars #
+    ##############
+
     image {
       function    = BOX
       detail      = "trough"
@@ -701,19 +900,21 @@ style "scrollbar" {
       direction   = RTL
     }
 
+
     # Disable insensitive sliders
+
     image {
       function = SLIDER
       state    = INSENSITIVE
+      detail   = "slider"
     }
 
-    ######################
-    # Horizontal sliders #
-    ######################
+    # Horizontal sliders
 
     image {
       function    = SLIDER
       state       = NORMAL
+      detail      = "slider"
       file        = "assets/scrollbar-horz-slider.png"
       border      = {6, 6, 7, 6 }
       stretch     = TRUE
@@ -723,6 +924,7 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = PRELIGHT
+      detail      = "slider"
       file        = "assets/scrollbar-horz-slider-hover.png"
       border      = {6, 6, 7, 6 }
       stretch     = TRUE
@@ -732,19 +934,19 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = ACTIVE
+      detail      = "slider"
       file        = "assets/scrollbar-horz-slider-active.png"
       border      = {6, 6, 7, 6 }
       stretch     = TRUE
       orientation = HORIZONTAL
     }
 
-    ####################
-    # Vertical sliders #
-    ####################
+    # Vertical sliders
 
     image {
       function    = SLIDER
       state       = NORMAL
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider.png"
       border      = {7, 6, 6, 6}
       stretch     = TRUE
@@ -755,6 +957,7 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = PRELIGHT
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider-hover.png"
       border      = {7, 6, 6, 6}
       stretch     = TRUE
@@ -765,6 +968,7 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = ACTIVE
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider-active.png"
       border      = {7, 6, 6, 6}
       stretch     = TRUE
@@ -772,9 +976,12 @@ style "scrollbar" {
       direction   = LTR
     }
 
+    # RTL
+
     image {
       function    = SLIDER
       state       = NORMAL
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider-rtl.png"
       border      = {6, 7, 6, 6}
       stretch     = TRUE
@@ -785,6 +992,7 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = PRELIGHT
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider-hover-rtl.png"
       border      = {6, 7, 6, 6}
       stretch     = TRUE
@@ -795,6 +1003,7 @@ style "scrollbar" {
     image {
       function    = SLIDER
       state       = ACTIVE
+      detail      = "slider"
       file        = "assets/scrollbar-vert-slider-active-rtl.png"
       border      = {6, 7, 6, 6}
       stretch     = TRUE
@@ -802,27 +1011,466 @@ style "scrollbar" {
       direction   = RTL
     }
 
-  }
+    ##########
+    # Scales #
+    ##########
 
-}
+    # Troughs
+    # They are overrided later on
+    # We set them here too because some widgets don't specify their orientation
 
-style "menubar" {
+    image {
+      function    = BOX
+      detail      = "trough-upper"
+      file        = "assets/scale-horz-trough.png"
+      border      = {10, 10, 0, 0}
+      stretch     = TRUE
+      orientation = HORIZONTAL
+    }
 
-  # Needed to fix Firefox's menubar text
-  bg[SELECTED] = @selected_fg_color
-  fg[SELECTED] = shade(0.9, @selected_bg_color)
+    image {
+      function    = BOX
+      detail      = "trough-lower"
+      file        = "assets/scale-horz-trough-active.png"
+      border      = {10, 10, 0, 0}
+      stretch     = TRUE
+      orientation = HORIZONTAL
+    }
 
-  engine "pixmap" {
     image {
-      function = BOX
+      function    = BOX
+      detail      = "trough-upper"
+      file        = "assets/scale-vert-trough.png"
+      border      = {0, 0, 10, 10}
+      stretch     = TRUE
+      orientation = VERTICAL
+    }
+
+    image {
+      function    = BOX
+      detail      = "trough-lower"
+      file        = "assets/scale-vert-trough-active.png"
+      border      = {0, 0, 10, 10}
+      stretch     = TRUE
+      orientation = VERTICAL
+    }
+
+    # Sliders
+
+    image {
+      function = SLIDER
+      state    = NORMAL
+      detail   = "hscale"
+      file     = "assets/scale-slider.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = PRELIGHT
+      detail   = "hscale"
+      file     = "assets/scale-slider-hover.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = ACTIVE
+      detail   = "hscale"
+      file     = "assets/scale-slider-active.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = INSENSITIVE
+      detail   = "hscale"
+      file     = "assets/scale-slider-insensitive.png"
+    }
+    image {
+      function = SLIDER
       state    = NORMAL
+      detail   = "vscale"
+      file     = "assets/scale-slider.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = PRELIGHT
+      detail   = "vscale"
+      file     = "assets/scale-slider-hover.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = ACTIVE
+      detail   = "vscale"
+      file     = "assets/scale-slider-active.png"
+    }
+
+    image {
+      function = SLIDER
+      state    = INSENSITIVE
+      detail   = "vscale"
+      file     = "assets/scale-slider-insensitive.png"
+    }
+
+    ###########
+    # Menubar #
+    ###########
+
+    image {
+      function = BOX
+      detail   = "menubar"
+      file     = "assets/line.png"
+      border   = {0, 0, 0, 1}
+    }
+
+    #########
+    # Menus #
+    #########
+
+    image {
+      function = BOX
+      state    = PRELIGHT
+      detail   = "menu_scroll_arrow_up"
+      file     = "assets/line.png"
+    }
+
+    image {
+      function = BOX
+      detail   = "menu_scroll_arrow_up"
       file     = "assets/line.png"
       border   = {0, 0, 0, 1}
     }
+
+    image {
+      function = BOX
+      state    = PRELIGHT
+      detail   = "menu_scroll_arrow_down"
+      file     = "assets/line.png"
+    }
+
+    image {
+      function = BOX
+      detail   = "menu_scroll_arrow_down"
+      file     = "assets/line.png"
+      border   = {0, 0, 1, 0}
+    }
+
+    ###########
+    # Entries #
+    ###########
+
+    image {
+      function = SHADOW
+      state    = NORMAL
+      detail   = "entry"
+      file     = "assets/entry.png"
+      border   = {4, 4, 4, 4}
+      stretch  = TRUE
+    }
+
+    image {
+      function = SHADOW
+      state    = ACTIVE
+      detail   = "entry"
+      file     = "assets/entry-active.png"
+      border   = {4, 4, 4, 4}
+      stretch  = TRUE
+    }
+
+    image {
+      function = SHADOW
+      state    = INSENSITIVE
+      detail   = "entry"
+      file     = "assets/entry-insensitive.png"
+      border   = {4, 4, 4, 4}
+      stretch  = TRUE
+    }
+
+    image {
+      function = FLAT_BOX
+      state    = NORMAL
+      detail   = "entry_bg"
+      file     = "assets/entry-background.png"
+    }
+
+    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-insensitive.png"
+    }
+
+    #########
+    # Spins #
+    #########
+
+    # Spin-Up LTR
+
+    image {
+      function        = BOX
+      state           = NORMAL
+      detail          = "spinbutton_up"
+      file            = "assets/spin-ltr-up.png"
+      border          = {1, 4, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = PRELIGHT
+      detail          = "spinbutton_up"
+      file            = "assets/spin-ltr-up-hover.png"
+      border          = {1, 4, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = ACTIVE
+      detail          = "spinbutton_up"
+      file            = "assets/spin-ltr-up-active.png"
+      border          = {1, 4, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = INSENSITIVE
+      detail          = "spinbutton_up"
+      file            = "assets/spin-ltr-up-insensitive.png"
+      border          = {1, 4, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up-insensitive.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    # Spin-Up RTL
+
+    image {
+      function        = BOX
+      state           = NORMAL
+      detail          = "spinbutton_up"
+      file            = "assets/spin-rtl-up.png"
+      border          = {4, 1, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = PRELIGHT
+      detail          = "spinbutton_up"
+      file            = "assets/spin-rtl-up-hover.png"
+      border          = {4, 1, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = ACTIVE
+      detail          = "spinbutton_up"
+      file            = "assets/spin-rtl-up-hover.png"
+      border          = {4, 1, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = INSENSITIVE
+      detail          = "spinbutton_up"
+      file            = "assets/spin-rtl-up-insensitive.png"
+      border          = {4, 1, 4, 0}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-up-insensitive.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    # Spin-Down LTR
+
+    image {
+      function        = BOX
+      state           = NORMAL
+      detail          = "spinbutton_down"
+      file            = "assets/spin-ltr-down.png"
+      border          = {1, 4, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = PRELIGHT
+      detail          = "spinbutton_down"
+      file            = "assets/spin-ltr-down-hover.png"
+      border          = {1, 4, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = ACTIVE
+      detail          = "spinbutton_down"
+      file            = "assets/spin-ltr-down-active.png"
+      border          = {1, 4, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    image {
+      function        = BOX
+      state           = INSENSITIVE
+      detail          = "spinbutton_down"
+      file            = "assets/spin-ltr-down-insensitive.png"
+      border          = {1, 4, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down-insensitive.png"
+      overlay_stretch = FALSE
+      direction       = LTR
+    }
+
+    # Spin-Down RTL
+
+    image {
+      function        = BOX
+      state           = NORMAL
+      detail          = "spinbutton_down"
+      file            = "assets/spin-rtl-down.png"
+      border          = {4, 1, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = PRELIGHT
+      detail          = "spinbutton_down"
+      file            = "assets/spin-rtl-down-hover.png"
+      border          = {4, 1, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = ACTIVE
+      detail          = "spinbutton_down"
+      file            = "assets/spin-rtl-down-active.png"
+      border          = {4, 1, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    image {
+      function        = BOX
+      state           = INSENSITIVE
+      detail          = "spinbutton_down"
+      file            = "assets/spin-rtl-down-insensitive.png"
+      border          = {4, 1, 1, 4}
+      stretch         = TRUE
+      overlay_file    = "assets/spin-down-insensitive.png"
+      overlay_stretch = FALSE
+      direction       = RTL
+    }
+
+    ##############
+    # Scrollbars #
+    ##############
+
+    image {
+      function    = BOX
+      detail      = "bar"
+      file        = "assets/progressbar-horz.png"
+      stretch     = TRUE
+      border      = {2, 2, 1, 1}
+      orientation = HORIZONTAL
+    }
+
+    image {
+      function    = BOX
+      detail      = "bar"
+      file        = "assets/progressbar-vert.png"
+      stretch     = TRUE
+      border      = {1, 1, 2, 2}
+      orientation = VERTICAL
+    }
+
+    #############
+    # Treeviews #
+    #############
+
+    # Disable active the column highlight
+    # We need to match specific cells or we break stuff
+    # Looking at you deadbeef
+
+    image {
+      function = FLAT_BOX
+      detail   = "cell_even_sorted"
+      state    = NORMAL
+    }
+
+    image {
+      function = FLAT_BOX
+      detail   = "cell_odd_sorted"
+      state    = NORMAL
+    }
+
+    # Disable all the other shadows
+    # This prevents the Raleigh effect
+    image {
+      function = SHADOW
+    }
+
   }
 
 }
 
+style "menubar" {
+
+  # Needed to fix Firefox's menubar text
+  bg[SELECTED] = @selected_fg_color
+  fg[SELECTED] = shade(0.9, @selected_bg_color)
+
+}
+
 style "menubar_item" {
 
   xthickness = 3
@@ -849,11 +1497,7 @@ style "menu" {
   bg[NORMAL]      = @base_color
   bg[INSENSITIVE] = @base_color
   bg[PRELIGHT]    = @base_color
-  bg[SELECTED] = @selected_bg_color
-
-  # TODO: find out why/where this is needed
-  # This is used for some compatibilty issues
-  engine "adwaita" {}
+  bg[SELECTED]    = @selected_bg_color
 
 }
 
@@ -871,15 +1515,10 @@ style "menu_item" {
   text[NORMAL]   = @fg_color
   text[PRELIGHT] = @selected_fg_color
 
+  # Unfortunately we can't tell regular and menu checks/radios apart
+  # Without the heirarchy
   engine "pixmap" {
 
-    # For menus that use horizontal lines instead of separators
-    image {
-      function = HLINE
-      file     = "assets/line.png"
-      border   = {0, 0, 1, 0}
-    }
-
     #################
     # Check Buttons #
     #################
@@ -1080,110 +1719,7 @@ style "menu_item" {
       overlay_stretch = FALSE
     }
 
-    # This stops Qt menu items using the Raleigh box effect on hover
-    image {
-      function = SHADOW
-    }
 
-    #################
-    # Arrow Buttons #
-    #################
-
-    image {
-      function        = ARROW
-      state           = NORMAL
-      overlay_file    = "assets/menu-pan-left.png"
-      overlay_stretch = FALSE
-      arrow_direction = LEFT
-    }
-
-    image {
-      function        = ARROW
-      state           = PRELIGHT
-      overlay_file    = "assets/menu-pan-left-hover.png"
-      overlay_stretch = FALSE
-      arrow_direction = LEFT
-    }
-
-    image {
-      function        = ARROW
-      state           = INSENSITIVE
-      overlay_file    = "assets/menu-pan-left-insensitive.png"
-      overlay_stretch = FALSE
-      arrow_direction = LEFT
-    }
-
-    image {
-      function        = ARROW
-      state           = NORMAL
-      overlay_file    = "assets/menu-pan-right.png"
-      overlay_stretch = FALSE
-      arrow_direction = RIGHT
-    }
-
-    image {
-      function        = ARROW
-      state           = PRELIGHT
-      overlay_file    = "assets/menu-pan-right-hover.png"
-      overlay_stretch = FALSE
-      arrow_direction = RIGHT
-    }
-
-    image {
-      function        = ARROW
-      state           = INSENSITIVE
-      overlay_file    = "assets/menu-pan-right-insensitive.png"
-      overlay_stretch = FALSE
-      arrow_direction = RIGHT
-    }
-
-    image {
-      function        = ARROW
-      state           = NORMAL
-      overlay_file    = "assets/menu-pan-up.png"
-      overlay_stretch = FALSE
-      arrow_direction = UP
-    }
-
-    image {
-      function        = ARROW
-      state           = PRELIGHT
-      overlay_file    = "assets/menu-pan-up-hover.png"
-      overlay_stretch = FALSE
-      arrow_direction = UP
-    }
-
-    image {
-      function        = ARROW
-      state           = INSENSITIVE
-      overlay_file    = "assets/menu-pan-up-insensitive.png"
-      overlay_stretch = FALSE
-      arrow_direction = UP
-    }
-
-    image {
-      function        = ARROW
-      state           = NORMAL
-      overlay_file    = "assets/menu-pan-down.png"
-      overlay_stretch = FALSE
-      arrow_direction = DOWN
-    }
-
-    image {
-      function        = ARROW
-      state           = PRELIGHT
-      overlay_file    = "assets/menu-pan-down-hover.png"
-      overlay_stretch = FALSE
-      arrow_direction = DOWN
-    }
-
-    image {
-      function        = ARROW
-      state           = INSENSITIVE
-      overlay_file    = "assets/menu-pan-down-insensitive.png"
-      overlay_stretch = FALSE
-      arrow_direction = DOWN
-    }
 
   }
 
@@ -1208,8 +1744,13 @@ style "button" {
   xthickness = 2
   ythickness = 2
 
+  # For the sake of sanity style buttons this way
   engine "pixmap" {
 
+    ###########
+    # Buttons #
+    ###########
+
     image {
       function = BOX
       state    = NORMAL
@@ -1252,13 +1793,12 @@ style "button" {
       border   = {4, 4, 4, 4}
       stretch  = TRUE
     }
-
   }
-
 }
 
 style "link_button" {
 
+  # Disable the button effect, leave just the link
   engine "pixmap" {
     image {
       function = BOX
@@ -1281,67 +1821,33 @@ style "entry" {
   base[NORMAL]      = @bg_color
   base[INSENSITIVE] = @bg_color
 
-  engine "pixmap" {
-
-    image {
-      function = SHADOW
-      state    = NORMAL
-      detail   = "entry"
-      file     = "assets/entry.png"
-      border   = {4, 4, 4, 4}
-      stretch  = TRUE
-    }
-
-    image {
-      function = SHADOW
-      state    = ACTIVE
-      detail   = "entry"
-      file     = "assets/entry-active.png"
-      border   = {4, 4, 4, 4}
-      stretch  = TRUE
-    }
-
-    image {
-      function = SHADOW
-      state    = INSENSITIVE
-      detail   = "entry"
-      file     = "assets/entry-insensitive.png"
-      border   = {4, 4, 4, 4}
-      stretch  = TRUE
-    }
+}
 
-    image {
-      function = FLAT_BOX
-      state    = NORMAL
-      detail   = "entry_bg"
-      file     = "assets/entry-background.png"
-    }
+style "combobox" {
 
-    image {
-      function = FLAT_BOX
-      state    = ACTIVE
-      detail   = "entry_bg"
-      file     = "assets/entry-background.png"
-    }
+  xthickness = 6
+  ythickness = 4
 
-    image {
-      function = FLAT_BOX
-      state    = INSENSITIVE
-      detail   = "entry_bg"
-      file     = "assets/entry-background-insensitive.png"
-    }
+  # This affects only the button beside an entry
+  GtkButton::inner-border = {0, 0, 0, 0}
 
-  }
+}
 
+style "combobox_cellview" {
+  text[NORMAL]   = @fg_color
+  text[PRELIGHT] = @fg_color
 }
 
 style "combobox_entry" {
 
+  # Since one side of the button is missing, we need to shift the arrow a little to the right
+  GtkButton::inner-border = {6, 8, 4, 4}
+
   engine "pixmap" {
 
-    ###############
-    # LTR version #
-    ###############
+    #############
+    # LTR entry #
+    #############
 
     image {
       function  = SHADOW
@@ -1373,9 +1879,9 @@ style "combobox_entry" {
       direction = LTR
     }
 
-    ###############
-    # RTL version #
-    ###############
+    #############
+    # RTL entry #
+    #############
 
     image {
       function  = SHADOW
@@ -1407,24 +1913,14 @@ style "combobox_entry" {
       direction = RTL
     }
 
-  }
-
-}
-
-style "combobox_button" {
-
-  # Since one side of the button is missing, we need to shift the arrow a little to the right
-  GtkButton::inner-border = {6, 8, 4, 4}
-
-  engine "pixmap" {
-
-    ###############
-    # LTR version #
-    ###############
+    ##############
+    # LTR button #
+    ##############
 
     image {
       function  = BOX
       state     = NORMAL
+      detail    = "button"
       file      = "assets/combo-entry-ltr-button.png"
       border    = {0, 4, 4, 4}
       stretch   = TRUE
@@ -1434,6 +1930,7 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = PRELIGHT
+      detail    = "button"
       file      = "assets/combo-entry-ltr-button-hover.png"
       border    = {0, 4, 4, 4}
       stretch   = TRUE
@@ -1443,6 +1940,7 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = ACTIVE
+      detail    = "button"
       file      = "assets/combo-entry-ltr-button-active.png"
       border    = {0, 4, 4, 4}
       stretch   = TRUE
@@ -1452,19 +1950,21 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = INSENSITIVE
+      detail    = "button"
       file      = "assets/combo-entry-ltr-button-insensitive.png"
       border    = {0, 4, 4, 4}
       stretch   = TRUE
       direction = LTR
     }
 
-    ###############
-    # RTL version #
-    ###############
+    ##############
+    # RTL button #
+    ##############
 
     image {
       function  = BOX
       state     = NORMAL
+      detail    = "button"
       file      = "assets/combo-entry-rtl-button.png"
       border    = {4, 0, 4, 4}
       stretch   = TRUE
@@ -1474,6 +1974,7 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = PRELIGHT
+      detail    = "button"
       file      = "assets/combo-entry-rtl-button-hover.png"
       border    = {4, 0, 4, 4}
       stretch   = TRUE
@@ -1483,6 +1984,7 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = ACTIVE
+      detail    = "button"
       file      = "assets/combo-entry-rtl-button-active.png"
       border    = {4, 0, 4, 4}
       stretch   = TRUE
@@ -1492,12 +1994,14 @@ style "combobox_button" {
     image {
       function  = BOX
       state     = INSENSITIVE
+      detail    = "button"
       file      = "assets/combo-entry-rtl-button-insensitive.png"
       border    = {4, 0, 4, 4}
       stretch   = TRUE
       direction = RTL
     }
 
+
   }
 
 }
@@ -1510,340 +2014,11 @@ style "combobox_button_padding" {
 
 }
 
-style "spinbutton" {
-
-  engine "pixmap" {
-
-    # Disable arrows
-    image {
-      function = ARROW
-    }
-
-    # Disable the shadow for qt
-    image {
-      function = SHADOW
-      detail   = "spinbutton"
-    }
-
-    ###############
-    # Spin-Up LTR #
-    ###############
-
-    image {
-      function        = BOX
-      state           = NORMAL
-      detail          = "spinbutton_up"
-      file            = "assets/spin-ltr-up.png"
-      border          = {1, 4, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = PRELIGHT
-      detail          = "spinbutton_up"
-      file            = "assets/spin-ltr-up-hover.png"
-      border          = {1, 4, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = ACTIVE
-      detail          = "spinbutton_up"
-      file            = "assets/spin-ltr-up-active.png"
-      border          = {1, 4, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = INSENSITIVE
-      detail          = "spinbutton_up"
-      file            = "assets/spin-ltr-up-insensitive.png"
-      border          = {1, 4, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up-insensitive.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    ###############
-    # Spin-Up RTL #
-    ###############
-
-    image {
-      function        = BOX
-      state           = NORMAL
-      detail          = "spinbutton_up"
-      file            = "assets/spin-rtl-up.png"
-      border          = {4, 1, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = PRELIGHT
-      detail          = "spinbutton_up"
-      file            = "assets/spin-rtl-up-hover.png"
-      border          = {4, 1, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = ACTIVE
-      detail          = "spinbutton_up"
-      file            = "assets/spin-rtl-up-hover.png"
-      border          = {4, 1, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = INSENSITIVE
-      detail          = "spinbutton_up"
-      file            = "assets/spin-rtl-up-insensitive.png"
-      border          = {4, 1, 4, 0}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-up-insensitive.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    #################
-    # Spin-Down LTR #
-    #################
-
-    image {
-      function        = BOX
-      state           = NORMAL
-      detail          = "spinbutton_down"
-      file            = "assets/spin-ltr-down.png"
-      border          = {1, 4, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = PRELIGHT
-      detail          = "spinbutton_down"
-      file            = "assets/spin-ltr-down-hover.png"
-      border          = {1, 4, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = ACTIVE
-      detail          = "spinbutton_down"
-      file            = "assets/spin-ltr-down-active.png"
-      border          = {1, 4, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    image {
-      function        = BOX
-      state           = INSENSITIVE
-      detail          = "spinbutton_down"
-      file            = "assets/spin-ltr-down-insensitive.png"
-      border          = {1, 4, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down-insensitive.png"
-      overlay_stretch = FALSE
-      direction       = LTR
-    }
-
-    #################
-    # Spin-Down RTL #
-    #################
-
-    image {
-      function        = BOX
-      state           = NORMAL
-      detail          = "spinbutton_down"
-      file            = "assets/spin-rtl-down.png"
-      border          = {4, 1, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = PRELIGHT
-      detail          = "spinbutton_down"
-      file            = "assets/spin-rtl-down-hover.png"
-      border          = {4, 1, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = ACTIVE
-      detail          = "spinbutton_down"
-      file            = "assets/spin-rtl-down-active.png"
-      border          = {4, 1, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-    image {
-      function        = BOX
-      state           = INSENSITIVE
-      detail          = "spinbutton_down"
-      file            = "assets/spin-rtl-down-insensitive.png"
-      border          = {4, 1, 1, 4}
-      stretch         = TRUE
-      overlay_file    = "assets/spin-down-insensitive.png"
-      overlay_stretch = FALSE
-      direction       = RTL
-    }
-
-  }
-
-}
-
 style "notebook" {
 
   xthickness = 5
   ythickness = 2
 
-  engine "pixmap" {
-
-    # Inactive tabs are drawn with ACTIVE for some reason
-    # And they don't need any kind of look
-    image {
-      function = EXTENSION
-      state    = ACTIVE
-    }
-
-    image {
-      function = EXTENSION
-      file     = "assets/tab-vert-active.png"
-      border   = {0, 2, 0, 0}
-      stretch  = TRUE
-      gap_side = RIGHT
-    }
-
-    image {
-      function = EXTENSION
-      file     = "assets/tab-vert-active.png"
-      border   = {2, 0, 0, 0}
-      stretch  = TRUE
-      gap_side = LEFT
-    }
-
-    image {
-      function = EXTENSION
-      file     = "assets/tab-horz-active.png"
-      border   = {0, 0, 0, 2}
-      stretch  = TRUE
-      gap_side = BOTTOM
-    }
-
-    image {
-      function = EXTENSION
-      file     = "assets/tab-horz-active.png"
-      border   = {0, 0, 2, 0}
-      stretch  = TRUE
-      gap_side = TOP
-    }
-
-    # Draw the inner frame
-
-    image {
-      function   = BOX_GAP
-      file       = "assets/frame-notebook.png"
-      border     = {1, 1, 1, 1}
-      stretch    = TRUE
-      gap_file   = "assets/tab-gap.png"
-      gap_border = {1, 0, 0, 0}
-      gap_side   = LEFT
-    }
-
-    image {
-      function   = BOX_GAP
-      file       = "assets/frame-notebook.png"
-      border     = {1, 1, 1, 1}
-      stretch    = TRUE
-      gap_file   = "assets/tab-gap.png"
-      gap_border = {0, 1, 0, 0}
-      gap_side   = RIGHT
-    }
-
-    image {
-      function   = BOX_GAP
-      file       = "assets/frame-notebook.png"
-      border     = {1, 1, 1, 1}
-      stretch    = TRUE
-      gap_file   = "assets/tab-gap.png"
-      gap_border = {0, 0, 1, 0}
-      gap_side   = TOP
-    }
-
-    image {
-      function   = BOX_GAP
-      file       = "assets/frame-notebook.png"
-      border     = {1, 1, 1, 1}
-      stretch    = TRUE
-      gap_file   = "assets/tab-gap.png"
-      gap_border = {0, 0, 0, 1}
-      gap_side   = BOTTOM
-    }
-
-    # Standalone frame
-
-    image {
-      function = BOX
-      file     = "assets/frame-notebook.png"
-      border   = {1, 1, 1, 1}
-      stretch  = TRUE
-    }
-
-  }
-
-}
-
-style "notebook_tab_label" {
-
-  font_name = "Bold"
-  # Again, ACTIVE is actually inactive
-  fg[NORMAL] = @selected_bg_color
-
 }
 
 style "notebook_viewport" {
@@ -1854,103 +2029,6 @@ style "notebook_prelight" {
   bg[PRELIGHT] = @base_color
 }
 
-
-style "handlebox" {
-
-  engine "pixmap" {
-
-    # We don't want any shadow effect
-    image {
-      function = SHADOW
-    }
-
-    image {
-      function        = HANDLE
-      overlay_file    = "assets/handle.png"
-      overlay_stretch = FALSE
-    }
-
-  }
-
-}
-
-style "button_separator" {
-
-  xthickness = 0
-  ythickness = 0
-
-  GtkWidget::wide-separators = 1
-
-}
-
-style "toolbar_separator" {
-
-  GtkWidget::wide-separators  = 1
-  GtkWidget::separator-width  = 1
-  GtkWidget::separator-height = 1
-
-  engine "pixmap" {
-    image {
-      function = BOX
-      file     = "assets/line.png"
-    }
-  }
-
-}
-
-style "combobox" {
-
-  xthickness = 6
-  ythickness = 4
-
-  # This affects only the button beside an entry
-  GtkButton::inner-border = {0, 0, 0, 0}
-
-}
-
-style "combobox_cellview" {
-  text[NORMAL]   = @fg_color
-  text[PRELIGHT] = @fg_color
-}
-
-style "range" {
-
-  engine "pixmap" {
-
-    #image {
-    #  function = FOCUS
-    #  file = "assets/scale-horz-focus.png"
-    #  border = {6, 6, 6, 6}
-    #}
-
-    image {
-      function = SLIDER
-      state    = NORMAL
-      file     = "assets/scale-slider.png"
-    }
-
-    image {
-      function = SLIDER
-      state    = PRELIGHT
-      file     = "assets/scale-slider-hover.png"
-    }
-
-    image {
-      function = SLIDER
-      state    = ACTIVE
-      file     = "assets/scale-slider-active.png"
-    }
-
-    image {
-      function = SLIDER
-      state    = INSENSITIVE
-      file     = "assets/scale-slider-insensitive.png"
-    }
-
-  }
-
-}
-
 style "scale_horz" {
 
   engine "pixmap" {
@@ -2019,15 +2097,6 @@ style "progressbar" {
 
     image {
       function    = BOX
-      detail      = "bar"
-      file        = "assets/progressbar-horz.png"
-      stretch     = TRUE
-      border      = {2, 2, 1, 1}
-      orientation = HORIZONTAL
-    }
-
-    image {
-      function    = BOX
       detail      = "trough"
       file        = "assets/progressbar-vert-trough.png"
       border      = {2, 2, 3, 3}
@@ -2035,38 +2104,6 @@ style "progressbar" {
       orientation = VERTICAL
     }
 
-    image {
-      function    = BOX
-      detail      = "bar"
-      file        = "assets/progressbar-vert.png"
-      stretch     = TRUE
-      border      = {1, 1, 2, 2}
-      orientation = VERTICAL
-    }
-
-  }
-
-}
-
-style "treeview" {
-
-  # Disable active the column highlight
-  # We need to match specific cells or we break stuff
-  # Looking at you deadbeef
-  engine "pixmap" {
-
-    image {
-      function = FLAT_BOX
-      detail   = "cell_even_sorted"
-      state    = NORMAL
-    }
-
-    image {
-      function = FLAT_BOX
-      detail   = "cell_odd_sorted"
-      state    = NORMAL
-    }
-
   }
 
 }
@@ -2190,37 +2227,30 @@ style "frame" {
 
 }
 
-style "disable-frame" {
+style "toolbar_button" {
 
-  engine "pixmap" {
-    image {
-      function = SHADOW
-    }
-  }
+  xthickness = 2
+  ythickness = 2
+
+  GtkButton::inner-border = {2, 2, 2, 2}
 
 }
 
-style "toolbar" {
+style "toolbar_separator" {
+
+  GtkWidget::wide-separators  = 1
+  GtkWidget::separator-width  = 1
+  GtkWidget::separator-height = 1
 
-  # Some apps (like LibreOffice) don't respect the toolbar shadow setting
-  # So we turn it off entirely
   engine "pixmap" {
     image {
-      function = SHADOW
+      function = BOX
+      file     = "assets/line.png"
     }
   }
 
 }
 
-style "toolbar_button" {
-
-  xthickness = 2
-  ythickness = 2
-
-  GtkButton::inner-border = {2, 2, 2, 2}
-
-}
-
 style "inline_toolbar" {
 
   GtkToolbar::button-relief = GTK_RELIEF_NORMAL
@@ -2236,7 +2266,7 @@ style "inline_toolbar" {
 
 }
 
-style "tooltips" {
+style "tooltip" {
 
   xthickness = 13
   ythickness = 13
@@ -2247,23 +2277,40 @@ style "tooltips" {
 
 }
 
+
+style "disable_shadow" {
+
+  engine "pixmap" {
+    image {
+      function = SHADOW
+    }
+  }
+
+}
+
+style "disable_separator" {
+
+  xthickness = 0
+  ythickness = 0
+
+  GtkWidget::wide-separators = 1
+
+}
+
+# Default style, containing most of the stuff
 class "GtkWidget"            style "default"
-class "GtkScrollbar"         style "scrollbar"
+
+# Override padding, style and colour
 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 "GtkHScale"            style "scale_horz"
 class "GtkVScale"            style "scale_vert"
 class "GtkProgressBar"       style "progressbar"
 class "GtkScrolledWindow"    style "scrolled_window"
 class "GtkFrame"             style "frame"
-class "GtkHandleBox"         style "handlebox"
-class "GtkTreeView"          style "treeview"
-class "GtkToolbar"           style "toolbar"
 class "GtkSeparatorToolItem" style "toolbar_separator"
 class "GtkMenuBar"           style "menubar"
 class "GtkMenu"              style "menu"
@@ -2274,9 +2321,9 @@ widget_class "*<GtkMenuBar>.<GtkMenuItem>*" style "menubar_item"
 widget_class "*<GtkSeparatorMenuItem>*"     style "separator_menu_item"
 
 # Frames in statusbars look ugly, let's disable them
-widget_class "*<GtkStatusbar>*<GtkFrame>" style "disable-frame"
+widget_class "*<GtkStatusbar>*<GtkFrame>" style "disable_shadow"
 # Disable the frame around poor Wilbert too
-widget_class "*<GimpToolbox>*<GtkFrame>"  style "disable-frame"
+widget_class "*<GimpToolbox>*<GtkFrame>"  style "disable_shadow"
 
 # Treeview buttons
 widget_class "*<GtkTreeView>*<GtkButton>*" style "treeview_header"
@@ -2285,23 +2332,21 @@ widget_class "*<GtkTreeView>*<GtkButton>*" style "treeview_header"
 widget_class "*<GtkFileChooserDefault>*<GtkToolbar>" style "inline_toolbar"
 
 # TODO: find out why this is needed
-# It appears to only set the bg color to base
+# It only sets the bg color to base
 widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>" style "notebook_viewport"
 
 # Fix padding on regular comboboxes
 widget_class "*<GtkComboBox>.<GtkButton>" style "combobox"
 # And disable separators on them
-widget_class "*<GtkComboBox>.<GtkButton>*<GtkSeparator>" style "button_separator"
+widget_class "*<GtkComboBox>.<GtkButton>*<GtkSeparator>" style "disable_separator"
 
 # Join together the ComboBoxEntry entry and button
-widget_class "*<GtkComboBoxEntry>.<GtkEntry>"  style "combobox_entry"
-widget_class "*<GtkComboBoxEntry>.<GtkButton>" style "combobox_button"
+widget_class "*<GtkComboBoxEntry>*"  style "combobox_entry"
 # Tweak the padding on the button a little bit because it uses it a bit differently
 widget_class "*<GtkComboBoxEntry>.<GtkButton>" style "combobox_button_padding"
 
 # Join the Combo entry and button
-widget_class "*<GtkCombo>.<GtkEntry>"  style "combobox_entry"
-widget_class "*<GtkCombo>.<GtkButton>" style "combobox_button"
+widget_class "*<GtkCombo>*"  style "combobox_entry"
 
 # Alas we cannot do the same for ComboBoxText because there isn't a way to apply the style to only
 # the comboboxes that have an entry inside
@@ -2315,14 +2360,8 @@ widget_class "*<GtkNotebook>*" style "notebook_prelight"
 #widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*<GtkEntry>" style "notebook_combobox_entry"
 widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*<GtkEntry>" style "combobox_entry"
 
-# Tab labels
-widget_class "*<GtkNotebook>.<GtkLabel>" style "notebook_tab_label"
-# Inkscape, GVIM and maybe other programs do strange things with tab labels
-widget_class "*<GtkNotebook>.<GtkBox>.<GtkLabel>" style "notebook_tab_label"
-widget_class "*<GtkNotebook>.<GtkEventBox>*<GtkLabel>" style "notebook_tab_label"
-
 # ComboBoxes tend to draw the button label with text[] instead of fg[], we need to fix that
 widget_class "*<GtkComboBox>*<GtkCellView>" style "combobox_cellview"
 
 # GTK tooltips
-widget "gtk-tooltip*" style "tooltips"
+widget "gtk-tooltip*" style "tooltip"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]