[gnome-themes-standard/lapo-work: 1/29] adwaita: first pass of a big rewrite for borders and linked areas



commit fd8fc78c68c91fb7b8759d525e8c0a76c59e8315
Author: Lapo Calamandrei <calamandrei gmail com>
Date:   Thu Nov 17 15:17:41 2011 -0500

    adwaita: first pass of a big rewrite for borders and linked areas
    
    We want to reduce the number of SVG assets we use for borders, and at
    the same time add some outset shadows to elements using border-image.
    
    Two new CSS files are created and included:
    - gtk-widgets-backgrounds.css: defines the background gradients for
      common widgets such as entries, buttons and comboboxes
    - gtk-widgets-borders.css: defines the borders for such common elements
    
    This is a first pass of implementing this new style for the light theme
    (dark theme support is still missing).

 configure.ac                                       |    1 +
 themes/Adwaita/gtk-3.0/Makefile.am                 |    4 +-
 themes/Adwaita/gtk-3.0/assets/Makefile.am          |    7 -
 .../gtk-3.0/assets/button-active-border.svg        |  130 ----
 themes/Adwaita/gtk-3.0/assets/button-border.svg    |  118 ----
 .../assets/combobox-entry-border-active.svg        |  112 ---
 .../gtk-3.0/assets/entry-border-focused.svg        |   74 --
 .../Adwaita/gtk-3.0/assets/entry-border-normal.svg |  123 ----
 .../primary-toolbar-button-active-border.svg       |  119 ----
 .../primary-toolbar-raised-button-border.svg       |  118 ----
 themes/Adwaita/gtk-3.0/borders/Makefile.am         |   12 +
 .../gtk-3.0/borders/button-border-focused.svg      |  114 +++
 themes/Adwaita/gtk-3.0/borders/button-border.svg   |  135 ++++
 .../gtk-3.0/borders/generic-border-focused.svg     |  102 +++
 themes/Adwaita/gtk-3.0/borders/generic-border.svg  |  106 +++
 .../primary-toolbar-button-border-focused.svg      |  160 +++++
 .../borders/primary-toolbar-button-border.svg      |  182 +++++
 .../primary-toolbar-generic-border-focused.svg     |  130 ++++
 .../borders/primary-toolbar-generic-border.svg     |  202 ++++++
 themes/Adwaita/gtk-3.0/gtk-backgrounds.css         |   56 ++
 themes/Adwaita/gtk-3.0/gtk-widgets-assets.css      |  159 +----
 themes/Adwaita/gtk-3.0/gtk-widgets-backgrounds.css |  103 +++
 themes/Adwaita/gtk-3.0/gtk-widgets-borders.css     |  141 ++++
 themes/Adwaita/gtk-3.0/gtk-widgets.css             |  726 +++++++++-----------
 themes/Adwaita/gtk-3.0/gtk.css                     |    7 +-
 25 files changed, 1784 insertions(+), 1357 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 8165013..d294c97 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,6 +59,7 @@ themes/Adwaita/cursors/Makefile
 themes/Adwaita/gtk-2.0/Makefile
 themes/Adwaita/gtk-3.0/Makefile
 themes/Adwaita/gtk-3.0/assets/Makefile
+themes/Adwaita/gtk-3.0/borders/Makefile
 themes/Adwaita/metacity-1/Makefile
 themes/LowContrast/Makefile
 themes/LowContrast/gtk-2.0/Makefile
diff --git a/themes/Adwaita/gtk-3.0/Makefile.am b/themes/Adwaita/gtk-3.0/Makefile.am
index 59b8954..d2c8633 100644
--- a/themes/Adwaita/gtk-3.0/Makefile.am
+++ b/themes/Adwaita/gtk-3.0/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = assets
+SUBDIRS = assets borders
 
 themedir = $(datadir)/themes/Adwaita/gtk-3.0
 theme_DATA = 		\
@@ -6,6 +6,8 @@ theme_DATA = 		\
 	gtk.css 	\
 	gtk-dark.css	\
 	gtk-widgets.css \
+	gtk-widgets-backgrounds.css \
+	gtk-widgets-borders.css \
 	gtk-widgets-dark-overrides.css \
 	gtk-widgets-assets.css \
 	gtk-widgets-assets-dark.css \
diff --git a/themes/Adwaita/gtk-3.0/assets/Makefile.am b/themes/Adwaita/gtk-3.0/assets/Makefile.am
index 24c7541..625224c 100644
--- a/themes/Adwaita/gtk-3.0/assets/Makefile.am
+++ b/themes/Adwaita/gtk-3.0/assets/Makefile.am
@@ -1,8 +1,6 @@
 assetsdir = $(datadir)/themes/Adwaita/gtk-3.0/assets
 assets_DATA = 		\
-	button-active-border.svg \
 	button-active-border-dark.svg \
-	button-border.svg \
 	button-border-dark.svg \
 	button-default-border.svg \
 	button-default-border-dark.svg \
@@ -23,14 +21,9 @@ assets_DATA = 		\
 	checkbox-menuitem-checked-selected.svg \
 	checkbox-menuitem-mixed.svg \
 	checkbox-menuitem-mixed-insensitive.svg \
-	combobox-entry-border-active.svg \
-	entry-border-focused.svg \
 	entry-border-focused-dark.svg \
-	entry-border-normal.svg \
 	entry-border-normal-dark.svg \
-	primary-toolbar-button-active-border.svg \
 	primary-toolbar-button-active-border-dark.svg \
-	primary-toolbar-raised-button-border.svg \
 	primary-toolbar-raised-button-border-dark.svg \
 	progressbar-border.svg \
 	progressbar-border-dark.svg \
diff --git a/themes/Adwaita/gtk-3.0/borders/Makefile.am b/themes/Adwaita/gtk-3.0/borders/Makefile.am
new file mode 100644
index 0000000..13da1da
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/Makefile.am
@@ -0,0 +1,12 @@
+bordersdir = $(datadir)/themes/Adwaita/gtk-3.0/borders
+borders_DATA = 		\
+	button-border-focused.svg \
+	button-border.svg \
+	generic-border-focused.svg \
+	generic-border.svg \
+	primary-toolbar-button-border-focused.svg \
+	primary-toolbar-button-border.svg \
+	primary-toolbar-generic-border-focused.svg \
+	primary-toolbar-generic-border.svg
+
+EXTRA_DIST = $(borders_DATA)
diff --git a/themes/Adwaita/gtk-3.0/borders/button-border-focused.svg b/themes/Adwaita/gtk-3.0/borders/button-border-focused.svg
new file mode 100644
index 0000000..ad8abbf
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/button-border-focused.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="button-border.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       id="linearGradient3837">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3839" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3841" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3837"
+       id="linearGradient3843"
+       x1="7.999999"
+       y1="1.92503"
+       x2="7.999999"
+       y2="14.003025"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="16"
+     inkscape:cx="15.81232"
+     inkscape:cy="9.5803639"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.8"
+       d="m 15.5,4 0,8.999999 c 0,1.385 -1.115,2.5 -2.5,2.5 l -9.9999995,0 c -1.3850003,0 -2.5000005,-1.115 -2.5000005,-2.5 L 0.5,4"
+       id="rect17861-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssc" />
+    <rect
+       ry="2.5"
+       rx="2.5000005"
+       y="0.5"
+       x="0.5"
+       height="13.999999"
+       width="15"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:#729fcf;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="1.5"
+       rx="1.5"
+       y="1.5"
+       x="1.5"
+       height="12"
+       width="13.000001"
+       id="rect17861-6"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3843);stroke-width:0.99999994000000003;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.8" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/button-border.svg b/themes/Adwaita/gtk-3.0/borders/button-border.svg
new file mode 100644
index 0000000..2129edf
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/button-border.svg
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-border-hilight.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#b2b6b2;stop-opacity:1"
+         offset="0"
+         id="stop3847" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3837">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3839" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3841" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3837"
+       id="linearGradient3843"
+       x1="7.999999"
+       y1="1.92503"
+       x2="7.999999"
+       y2="14.003025"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="16"
+     inkscape:cx="15.68732"
+     inkscape:cy="9.5803639"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.8"
+       d="m 15.5,4 0,8.999999 c 0,1.385 -1.115,2.5 -2.5,2.5 l -9.9999995,0 c -1.3850003,0 -2.5000005,-1.115 -2.5000005,-2.5 L 0.5,4"
+       id="rect17861-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssc" />
+    <rect
+       ry="2.5"
+       rx="2.5000005"
+       y="0.5"
+       x="0.5"
+       height="13.999999"
+       width="15"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3851);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="1.5"
+       rx="1.5"
+       y="1.5"
+       x="1.5"
+       height="12"
+       width="13.000001"
+       id="rect17861-6"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3843);stroke-width:0.99999994000000003;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.8" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/generic-border-focused.svg b/themes/Adwaita/gtk-3.0/borders/generic-border-focused.svg
new file mode 100644
index 0000000..328b7c5
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/generic-border-focused.svg
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   height="16px"
+   width="16px"
+   version="1.1"
+   id="svg2"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-border-focused.svg">
+  <defs
+     id="defs12">
+    <linearGradient
+       id="linearGradient3006">
+      <stop
+         id="stop3008"
+         offset="0"
+         style="stop-color:#729fcf;stop-opacity:1" />
+      <stop
+         id="stop3010"
+         offset="1"
+         style="stop-color:#9ebdde;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#b2b6b2;stop-opacity:1"
+         offset="0"
+         id="stop3847" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1004"
+     inkscape:window-height="817"
+     id="namedview10"
+     showgrid="false"
+     inkscape:zoom="17.625"
+     inkscape:cx="8.3404256"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="26"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     style="enable-background:accumulate;color:#000000;stroke:#ffffff;stroke-opacity:1;opacity:0.8"
+     d="m15.5,4,0,9c0,1.385-1.115,2.5-2.5,2.5h-10c-1.385,0-2.5-1.115-2.5-2.5v-9"
+     stroke="#f5f5f5"
+     stroke-miterlimit="4"
+     stroke-width="1"
+     fill="none"
+     id="path6" />
+  <rect
+     ry="2.5"
+     rx="2.5000005"
+     y="0.5"
+     x="0.5"
+     height="13.999999"
+     width="15"
+     id="rect17861"
+     style="color:#000000;fill:none;stroke:#729fcf;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/generic-border.svg b/themes/Adwaita/gtk-3.0/borders/generic-border.svg
new file mode 100644
index 0000000..113fc52
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/generic-border.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-border.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#b2b6b2;stop-opacity:1"
+         offset="0"
+         id="stop3847" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="9.2973179"
+     inkscape:cy="4.0866946"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.8"
+       d="m 15.5,4 0,8.999999 c 0,1.385 -1.115,2.5 -2.5,2.5 l -9.9999995,0 c -1.3850003,0 -2.5000005,-1.115 -2.5000005,-2.5 L 0.5,4"
+       id="rect17861-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssc" />
+    <rect
+       ry="2.5"
+       rx="2.5000005"
+       y="0.5"
+       x="0.5"
+       height="13.999999"
+       width="15"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3851);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border-focused.svg b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border-focused.svg
new file mode 100644
index 0000000..ba18f7d
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border-focused.svg
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="primary-toolbar-button-border-focused.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       id="linearGradient3826">
+      <stop
+         id="stop3828"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.051" />
+      <stop
+         id="stop3830"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0.502" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3826"
+       id="linearGradient3851-3"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       id="linearGradient3837">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3839" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3841" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.84615379,0,0,0.91666667,1.2307694,1.125)"
+       y2="14.003025"
+       x2="7.999999"
+       y1="1.92503"
+       x1="7.999999"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3864"
+       xlink:href="#linearGradient3837"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3826-9">
+      <stop
+         id="stop3828-2"
+         offset="0"
+         style="stop-color:#adada4;stop-opacity:1" />
+      <stop
+         id="stop3830-6"
+         offset="1"
+         style="stop-color:#ebebea;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="13.462841"
+       x2="8.000001"
+       y1="1.5371597"
+       x1="8.0000019"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357141)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3880"
+       xlink:href="#linearGradient3826-9"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="9.2524004"
+     inkscape:cy="7.1218558"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       ry="3.25"
+       rx="3.25"
+       y="0.75000101"
+       x="0.75000119"
+       height="14.499999"
+       width="14.499999"
+       id="rect17861-9"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3880);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="2.5"
+       rx="2.5"
+       y="1.5"
+       x="1.5"
+       height="13"
+       width="13"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:#729fcf;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="1.5"
+       rx="1.5"
+       y="2.5"
+       x="2.5"
+       height="11"
+       width="11"
+       id="rect17861-6"
+       style="opacity:0.8;color:#000000;fill:none;stroke:url(#linearGradient3864);stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border.svg b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border.svg
new file mode 100644
index 0000000..f9733ea
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-button-border.svg
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-toolbar-border-hilight.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       id="linearGradient3826">
+      <stop
+         id="stop3828"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.051" />
+      <stop
+         id="stop3830"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0.502" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#898f89;stop-opacity:1"
+         offset="0"
+         id="stop3847" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3826"
+       id="linearGradient3851-3"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       id="linearGradient3837">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3839" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3841" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.84615379,0,0,0.91666667,1.2307694,1.125)"
+       y2="14.003025"
+       x2="7.999999"
+       y1="1.92503"
+       x1="7.999999"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3864"
+       xlink:href="#linearGradient3837"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3826-9">
+      <stop
+         id="stop3828-2"
+         offset="0"
+         style="stop-color:#adada4;stop-opacity:1" />
+      <stop
+         id="stop3830-6"
+         offset="1"
+         style="stop-color:#ebebea;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="13.462841"
+       x2="8.000001"
+       y1="1.5371597"
+       x1="8.0000019"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357141)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3880"
+       xlink:href="#linearGradient3826-9"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="9.1640121"
+     inkscape:cy="7.1218558"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       ry="3.25"
+       rx="3.25"
+       y="0.75000101"
+       x="0.75000119"
+       height="14.499999"
+       width="14.499999"
+       id="rect17861-9"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3880);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="2.5"
+       rx="2.5"
+       y="1.5"
+       x="1.5"
+       height="13"
+       width="13"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3851);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="1.5"
+       rx="1.5"
+       y="2.5"
+       x="2.5"
+       height="11"
+       width="11"
+       id="rect17861-6"
+       style="opacity:0.8;color:#000000;fill:none;stroke:url(#linearGradient3864);stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border-focused.svg b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border-focused.svg
new file mode 100644
index 0000000..b8edb66
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border-focused.svg
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-toolbar-border-focused.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       id="linearGradient3826">
+      <stop
+         id="stop3828"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.051" />
+      <stop
+         id="stop3830"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0.4" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3826"
+       id="linearGradient3851-3"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       id="linearGradient3826-9">
+      <stop
+         id="stop3828-2"
+         offset="0"
+         style="stop-color:#adada4;stop-opacity:1" />
+      <stop
+         id="stop3830-6"
+         offset="1"
+         style="stop-color:#ebebea;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="13.462841"
+       x2="8.000001"
+       y1="1.5371597"
+       x1="8.0000019"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357141)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3863"
+       xlink:href="#linearGradient3826-9"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="14.692072"
+     inkscape:cy="16.048412"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       ry="3.25"
+       rx="3.25"
+       y="0.75000101"
+       x="0.75000119"
+       height="14.499999"
+       width="14.499999"
+       id="rect17861-9"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3863);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="2.5"
+       rx="2.5"
+       y="1.5"
+       x="1.5"
+       height="13"
+       width="13"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:#579eea;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-linecap:butt;stroke-linejoin:miter;stroke-dashoffset:0" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border.svg b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border.svg
new file mode 100644
index 0000000..a8a62ca
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/borders/primary-toolbar-generic-border.svg
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="16px"
+   height="16px"
+   id="svg33222"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="lapo-toolbar-border.svg">
+  <defs
+     id="defs33224">
+    <linearGradient
+       id="linearGradient3787">
+      <stop
+         style="stop-color:#adada2;stop-opacity:1"
+         offset="0"
+         id="stop3789" />
+      <stop
+         id="stop3797"
+         offset="0.09922171"
+         style="stop-color:#b5b5ac;stop-opacity:1;" />
+      <stop
+         id="stop3795"
+         offset="0.88905489"
+         style="stop-color:#d7d7d5;stop-opacity:1" />
+      <stop
+         style="stop-color:#e0e0de;stop-opacity:1"
+         offset="1"
+         id="stop3791" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3826">
+      <stop
+         id="stop3828"
+         offset="0"
+         style="stop-color:#adada4;stop-opacity:1" />
+      <stop
+         id="stop3830"
+         offset="1"
+         style="stop-color:#ebebea;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3845">
+      <stop
+         style="stop-color:#898f89;stop-opacity:1"
+         offset="0"
+         id="stop3847" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845"
+       id="linearGradient3851"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3826"
+       id="linearGradient3851-3"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86666667,0,0,0.92857148,1.0666667,1.0357143)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3787"
+       id="linearGradient3793"
+       x1="102"
+       y1="-17.531641"
+       x2="108"
+       y2="2.46875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(10.75,0,0,1,-1176,0)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3845-6"
+       id="linearGradient3851-8"
+       x1="8.0000019"
+       y1="1.5371597"
+       x2="8.000001"
+       y2="13.462841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.4000029,0,0,2.0000001,-141.20001,-12.5)" />
+    <linearGradient
+       id="linearGradient3845-6">
+      <stop
+         style="stop-color:#898f89;stop-opacity:1"
+         offset="0"
+         id="stop3847-7" />
+      <stop
+         style="stop-color:#bdbfbd;stop-opacity:1"
+         offset="1"
+         id="stop3849-0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3826-8">
+      <stop
+         id="stop3828-4"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.051" />
+      <stop
+         id="stop3830-8"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0.502" />
+    </linearGradient>
+    <linearGradient
+       y2="13.462841"
+       x2="8.000001"
+       y1="1.5371597"
+       x1="8.0000019"
+       gradientTransform="matrix(6.7241384,0,0,1.8891628,-135.79308,-11.668722)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3819"
+       xlink:href="#linearGradient3826-8"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#8e8e8e"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-14.77259"
+     inkscape:cy="-18.866771"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1022"
+     inkscape:window-x="-10"
+     inkscape:window-y="18"
+     inkscape:window-maximized="1"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:showpageshadow="false"
+     showborder="false"
+     inkscape:bbox-paths="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2992"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata33227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       ry="3.25"
+       rx="3.25"
+       y="0.75000119"
+       x="0.75000119"
+       height="14.499999"
+       width="14.499999"
+       id="rect17861-9"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3851-3);stroke-width:1.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-linecap:butt;stroke-linejoin:miter;stroke-dashoffset:0" />
+    <rect
+       ry="2.5"
+       rx="2.5"
+       y="1.5"
+       x="1.5"
+       height="13"
+       width="13"
+       id="rect17861"
+       style="color:#000000;fill:none;stroke:url(#linearGradient3851);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/themes/Adwaita/gtk-3.0/gtk-backgrounds.css b/themes/Adwaita/gtk-3.0/gtk-backgrounds.css
new file mode 100644
index 0000000..36ef70f
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/gtk-backgrounds.css
@@ -0,0 +1,56 @@
+/* Button background */
+.button {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+                                     from (@button_gradient_color_a),
+                                     to (@button_gradient_color_b));
+}
+
+/* Pushed button background */
+.button:active,
+.toolbar .button:active,
+.button:hover:active,
+.toolbar .button:hover:active {
+    background-image: -gtk-gradient (linear,
+    				     left top, left bottom,
+                                     from (@button_active_gradient_color_a),
+				     to (alpha (@button_active_gradient_color_b, 0.13)));
+}
+
+/* Prelit button background */
+.button:hover,
+.toolbar .button:hover {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (@button_hover_gradient_color_a),
+				     to (@button_hover_gradient_color_b));
+}
+
+/* Disabled button background */
+.button:insensitive {
+background-image: none;
+background-color: red;
+/*    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (@insensitive_bg_color),
+				     to (shade (@insensitive_bg_color, 0.9))); */
+}
+
+/* Entry background */
+.entry,
+GtkComboBox.combobox-entry .button,
+GtkComboBox.combobox-entry .button:prelight,
+.primary-toolbar GtkComboBox.combobox-entry .button,
+.primary-toolbar GtkComboBox.combobox-entry .button:prelight {
+    background-image: -gtk-gradient(linear,
+                                    left top, left bottom,
+                                    from(@entry_background_a),
+                                    color-stop(0.20, @entry_background_b),
+                                    color-stop(0.85, @entry_background_c),
+                                    to(@entry_background_d));
+}
+/* Disabled entry background */
+.entry:insensitive {
+    background-color: @insensitive_bg_color;
+    background-image: none;
+}
diff --git a/themes/Adwaita/gtk-3.0/gtk-widgets-assets.css b/themes/Adwaita/gtk-3.0/gtk-widgets-assets.css
index cb1b86b..07f0696 100644
--- a/themes/Adwaita/gtk-3.0/gtk-widgets-assets.css
+++ b/themes/Adwaita/gtk-3.0/gtk-widgets-assets.css
@@ -5,79 +5,79 @@
 /* draw regular check and radio items using our SVG assets */
 .check,
 .check row:selected,
-.check row:selected:focused {
+.check row:selected:focus {
     background-image: url("assets/checkbox-unchecked.svg");
 }
 
 .check:insensitive,
 .check row:selected:insensitive,
-.check row:selected:focused:insensitive {
+.check row:selected:focus:insensitive {
     background-image: url("assets/checkbox-unchecked-insensitive.svg");
 }
 
 .check:active,
 .check row:selected:active,
-.check row:selected:focused:active {
+.check row:selected:focus:active {
     background-image: url("assets/checkbox-checked.svg");
 }
 
 .check:active:insensitive,
 .check row:selected:active:insensitive,
-.check row:selected:focused:active:insensitive
+.check row:selected:focus:active:insensitive
 {
     background-image: url("assets/checkbox-checked-insensitive.svg");
 }
 
 .check:inconsistent,
 .check row:selected:inconsistent,
-.check row:selected:focused:inconsistent {
+.check row:selected:focus:inconsistent {
     background-image: url("assets/checkbox-mixed.svg");
 }
 
 .check:inconsistent:insensitive,
 .check row:selected:inconsistent:insensitive,
-.check row:selected:focused:inconsistent:insensitive {
+.check row:selected:focus:inconsistent:insensitive {
     background-image: url("assets/checkbox-mixed-insensitive.svg");
 }
 
 .radio,
 .radio row:selected,
-.radio row:selected:focused {
+.radio row:selected:focus {
     background-image: url("assets/radio-unselected.svg");
 }
 
 .radio:insensitive,
 .radio row:selected:insensitive,
-.radio row:selected:focused:insensitive {
+.radio row:selected:focus:insensitive {
     background-image: url("assets/radio-unselected-insensitive.svg");
 }
 
 .radio:active,
 .radio row:selected:active,
-.radio row:selected:focused:active {
+.radio row:selected:focus:active {
     background-image: url("assets/radio-selected.svg");
 }
 
 .radio:active:insensitive,
 .radio row:selected:active:insensitive,
-.radio row:selected:focused:active:insensitive {
+.radio row:selected:focus:active:insensitive {
     background-image: url("assets/radio-selected-insensitive.svg");
 }
 
 .radio:inconsistent,
 .radio row:selected:inconsistent,
-.radio row:selected:focused:inconsistent {
+.radio row:selected:focus:inconsistent {
     background-image: url("assets/radio-mixed.svg");
 }
 
 .radio:inconsistent:insensitive,
 .radio row:selected:inconsistent:insensitive,
-.radio row:selected:focused:inconsistent:insensitive {
+.radio row:selected:focus:inconsistent:insensitive {
     background-image: url("assets/radio-mixed-insensitive.svg");
 }
 
 .sidebar .radio:active,
-.sidebar .radio:active:focused,
+.sidebar .radio:active:focus,
 .sidebar .radio:active:prelight {
     background-image: url("assets/sidebar-radio-checked.svg");
 }
@@ -87,86 +87,18 @@
 }
 
 .sidebar .radio:active:selected,
-.sidebar .radio:active:selected:focused {
+.sidebar .radio:active:selected:focus {
     background-image: url("assets/sidebar-radio-selected.svg");
 }
 
 .sidebar .radio:selected:prelight,
-.sidebar .radio:selected:focused {
+.sidebar .radio:selected:focus {
     background-image: url("assets/sidebar-radio-selected-prelight.svg");    
 }
 
-.entry {
-    border-image: url("assets/entry-border-normal.svg") 2 / 2 stretch;
-}
-
-.entry:focused {
-    border-image: url("assets/entry-border-focused.svg") 2 / 2 stretch;
-}
-
-.primary-toolbar GtkComboBox.combobox-entry .button,
-GtkComboBox.combobox-entry .button,
-.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(last),
-GtkComboBox.combobox-entry .button:nth-child(last) {
-    border-image: url("assets/entry-border-normal.svg") 2 / 2 2 2 0 stretch;
-}
-
-.primary-toolbar GtkComboBox.combobox-entry .button:active,
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active,
-GtkComboBox.combobox-entry .button:active,
-GtkComboBox.combobox-entry .button:hover:active,
-.primary-toolbar GtkComboBox.combobox-entry .button:active:nth-child(last),
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active:nth-child(last),
-GtkComboBox.combobox-entry .button:active:nth-child(last),
-GtkComboBox.combobox-entry .button:hover:active:nth-child(last) {
-    border-image: url("assets/combobox-entry-border-active.svg") 2 / 2 2 2 0 stretch;
-}
-
-/* for RTL languages */
-.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(first),
-GtkComboBox.combobox-entry .button:nth-child(first) {
-    border-image: url("assets/entry-border-normal.svg") 2 / 2 0 2 2 stretch;
-}
-
-.primary-toolbar GtkComboBox.combobox-entry .button:active:nth-child(first),
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active:nth-child(first),
-GtkComboBox.combobox-entry .button:active:nth-child(first),
-GtkComboBox.combobox-entry .button:hover:active:nth-child(first) {
-    border-image: url("assets/combobox-entry-border-active.svg") 2 / 2 0 2 2 stretch;
-}
-
-GtkScale.trough,
-GtkSwitch.trough,
-GtkScale.trough.horizontal {
-    border-image: url("assets/trough-border-horizontal.svg") 2 / 2 stretch;
-}
-
-GtkScale.trough.vertical {
-    border-image: url("assets/trough-border-vertical.svg") 2 / 2 stretch;
-}
-
-GtkSwitch.trough:active,
-GtkScale.progressbar.horizontal {
-    border-image: url("assets/trough-active-border-horizontal.svg") 2 / 2 stretch;
-}
-
-GtkScale.progressbar.vertical {
-    border-image: url("assets/trough-active-border-vertical.svg") 2 / 2 stretch;
-}
-
-.progressbar,
-.entry.progressbar,
-.progressbar row,
-.progressbar row:hover,
-.progressbar row:selected,
-.progressbar row:selected:focused {
-    border-image: url("assets/progressbar-border.svg") 3 / 3 stretch;
-}
-
-.progressbar.vertical {
-    border-image: url("assets/progressbar-border-vertical.svg") 3 / 3 stretch;
-}
-
+/*********************
+ * GtkScale's slider *
+ *********************/
 GtkScale.slider,
 GtkScale.slider.horizontal {
     background-image: url("assets/scale-slider-horizontal.svg");
@@ -216,58 +148,3 @@ GtkScale.scale-has-marks-below.slider.vertical {
 GtkScale.scale-has-marks-below.slider.vertical:insensitive {
     background-image: url("assets/scale-slider-marks-below-vertical-insensitive.svg");
 }
-
-.button {
-    border-image: url("assets/button-border.svg") 3 / 3 stretch;
-}
-
-.button:active,
-.toolbar .button:active,
-.button:hover:active,
-.toolbar .button:hover:active {
-    border-image: url("assets/button-active-border.svg") 3 / 3 stretch;
-}
-
-.button.default {
-    border-image: url("assets/button-default-border.svg") 4 / 4 stretch;
-}
-
-.primary-toolbar .toolbar .button:active,
-.primary-toolbar.toolbar .button:active,
-.primary-toolbar .toolbar .button:active:hover,
-.primary-toolbar.toolbar .button:active:hover {
-    border-image: url("assets/primary-toolbar-button-active-border.svg") 4 / 4 stretch;
-}
-
-.toolbar .raised .button,
-.toolbar .raised.button {
-    border-image: url("assets/primary-toolbar-raised-button-border.svg") 4 / 4 stretch;
-}
-
-/* nth-child for linked areas */
-.toolbar .raised.linked.button,
-.toolbar .raised.linked.button:active,
-.toolbar .raised.linked.button:active:hover,
-.toolbar .raised.linked .button,
-.toolbar .raised.linked .button:active,
-.toolbar .raised.linked .button:active:hover {
-    border-image: url("assets/primary-toolbar-raised-button-border.svg") 4 / 4 0 stretch;
-}
-
-.toolbar .raised.linked.button:nth-child(first) ,
-.toolbar .raised.linked.button:active:nth-child(first),
-.toolbar .raised.linked.button:active:hover:nth-child(first),
-.toolbar .raised.linked:nth-child(first) .button,
-.toolbar .raised.linked:nth-child(first) .button:active,
-.toolbar .raised.linked:nth-child(first) .button:active:hover {
-    border-image: url("assets/primary-toolbar-raised-button-border.svg") 4 / 4 0 4 4 stretch;
-}
-
-.toolbar .raised.linked.button:nth-child(last),
-.toolbar .raised.linked.button:active:nth-child(last),
-.toolbar .raised.linked.button:active:hover:nth-child(last),
-.toolbar .raised.linked:nth-child(last) .button,
-.toolbar .raised.linked:nth-child(last) .button:active,
-.toolbar .raised.linked:nth-child(last) .button:active:hover {
-    border-image: url("assets/primary-toolbar-raised-button-border.svg") 4 / 4 4 4 0 stretch;
-}
diff --git a/themes/Adwaita/gtk-3.0/gtk-widgets-backgrounds.css b/themes/Adwaita/gtk-3.0/gtk-widgets-backgrounds.css
new file mode 100644
index 0000000..981ba90
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/gtk-widgets-backgrounds.css
@@ -0,0 +1,103 @@
+/* Button background */
+.button,
+.primary-toolbar .button.raised,
+.primary-toolbar .raised .button,
+.primary-toolbar .button.raised:focus,
+.primary-toolbar .raised .button:focus {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+                                     from (@button_gradient_color_a),
+                                     color-stop (0.2, @button_gradient_color_a),
+                                     color-stop (0.8, @button_gradient_color_b),
+                                     to (@button_gradient_color_b));
+}
+
+/* Pushed button background */
+.button:active,
+.button:hover:active,
+.toolbar .button:active,
+.toolbar .button:hover:active,
+.primary-toolbar .button:active:focus {
+    background-image: -gtk-gradient (linear,
+    				     left top, left bottom,
+                                     from (@button_active_gradient_color_a),
+				     to (alpha (@button_active_gradient_color_b, 0.13)));
+}
+
+/* Prelit button background */
+.button:hover,
+.toolbar .button:hover,
+.primary-toolbar .button.raised:hover,
+.primary-toolbar .raised .button:hover {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (@button_hover_gradient_color_a),
+				     to (@button_hover_gradient_color_b));
+}
+
+.primary-toolbar .button:hover {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (alpha (@theme_base_color, 0.0)),
+				     color-stop (0.54, alpha (shade (@theme_base_color, 0.92), 0.49)),
+			             to (alpha (@theme_base_color, 0.0)));
+}
+
+/* Insensitive button background */
+.button:insensitive {
+    background-image: none;
+    background-color: @insensitive_bg_color;
+
+    /* FIXME? - Not sure about insensitive colors
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (@insensitive_bg_color),
+                                     color-stop (0.4, @insensitive_bg_color),
+				     to (shade (@insensitive_bg_color, 0.97)));
+    */
+}
+
+/* Pushed + Insensitive button background */
+.button:active:insensitive {
+    background-image: -gtk-gradient (linear,
+				     left top, left bottom,
+				     from (shade (@insensitive_bg_color, 0.95)),
+                                     color-stop (0.4, @insensitive_bg_color),
+				     to (@insensitive_bg_color)); 
+}
+
+/* Entry background */
+.entry,
+GtkComboBox.combobox-entry .button,
+GtkComboBox.combobox-entry .button:prelight,
+GtkComboBox.combobox-entry .button:focus,
+.primary-toolbar GtkComboBox.combobox-entry .button,
+.primary-toolbar GtkComboBox.combobox-entry .button:prelight,
+.primary-toolbar GtkComboBox.combobox-entry .button:focus {
+    background-image: -gtk-gradient(linear,
+                                    left top, left bottom,
+                                    from(@entry_background_a),
+                                    color-stop(0.20, @entry_background_b),
+                                    color-stop(0.85, @entry_background_c),
+                                    to(@entry_background_d));
+}
+
+/* ComboboxEntry button background */
+.primary-toolbar GtkComboBox.combobox-entry .button:active,
+.primary-toolbar GtkComboBox.combobox-entry .button:hover:active,
+GtkComboBox.combobox-entry .button:active,
+GtkComboBox.combobox-entry .button:hover:active {
+    background-image: -gtk-gradient(linear,
+                                    left top, left bottom,
+                                    from(shade(@entry_background_a, 0.95)),
+                                    color-stop(0.20, shade(@entry_background_b, 0.95)),
+                                    color-stop(0.85, shade(@entry_background_c, 0.95)),
+                                    to(shade(@entry_background_d, 0.95)));
+}
+
+/* Insensitive entry background */
+.entry:insensitive,
+GtkComboBox.combobox-entry .button:insensitive {
+    background-color: @insensitive_bg_color;
+    background-image: none;
+}
diff --git a/themes/Adwaita/gtk-3.0/gtk-widgets-borders.css b/themes/Adwaita/gtk-3.0/gtk-widgets-borders.css
new file mode 100644
index 0000000..a1d9d84
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/gtk-widgets-borders.css
@@ -0,0 +1,141 @@
+/* Borders */
+
+/* generic element borders */
+.entry,
+GtkComboBox.combobox-entry .entry,
+GtkComboBox.combobox-entry .button,
+GtkComboBox.combobox-entry .button:focus,
+.button:active,
+.button:active:hover,
+.button:insensitive {
+    border-image: url("borders/generic-border.svg") 3 3 4 3 / 3 3 4 3 stretch;
+    border-radius: 3;
+    border-width: 1 1 2 1;
+}
+
+/* focused element borders */
+.entry:focus,
+GtkComboBox.combobox-entry .entry:focus,
+.button:focus:active,
+.button.default:active { 
+    border-image: url("borders/generic-border-focused.svg") 3 3 4 3 / 3 3 4 3 stretch;
+    border-radius: 3;
+    border-width: 1 1 2 1;
+}
+
+/* generic button borders */
+.button {
+    border-image: url("borders/button-border.svg") 3 3 4 3 / 3 3 4 3 stretch;
+    border-radius: 3;
+    border-width: 1 1 2 1;
+}
+
+/* focused button borders */
+.button:focus,
+.button.default { 
+    border-image: url("borders/button-border-focused.svg") 3 3 4 3 / 3 3 4 3 stretch;
+    border-radius: 3;
+    border-width: 1 1 2 1;
+}
+
+/* primary toolbar - generic element borders */
+.primary-toolbar .entry,
+.primary-toolbar GtkComboBox.combobox-entry .entry,
+.primary-toolbar GtkComboBox.combobox-entry .button,
+.primary-toolbar GtkComboBox.combobox-entry .button:prelight,
+.primary-toolbar GtkComboBox.combobox-entry .button:active,
+.primary-toolbar GtkComboBox.combobox-entry .button:focus,
+.primary-toolbar GtkComboBox.combobox-entry .button:insensitive,
+.primary-toolbar .button:active,
+.primary-toolbar .button:active:hover,
+.primary-toolbar .button.raised:insensitive,
+.primary-toolbar .raised .button:insensitive,
+.inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar .button:active:hover,
+.inline-toolbar.toolbar .button:insensitive,
+.inline-toolbar.toolbar GtkToolButton .button:active {
+    border-image: url("borders/primary-toolbar-generic-border.svg") 4 / 4 stretch;
+    border-radius: 3;
+    border-width: 2;
+}
+
+/* primary toolbar - focused element borders */
+.primary-toolbar .entry:focus,
+.primary-toolbar GtkComboBox.combobox-entry .entry:focus,
+.primary-toolbar .button.raised:focus:active,
+.primary-toolbar .raised .button:focus:active,
+.primary-toolbar .button.raised:focus:active:hover,
+.primary-toolbar .raised .button:focus:active:hover,
+.primary-toolbar .button.raised.default:active,
+.primary-toolbar .raised .button.default:active,
+.inline-toolbar.toolbar .button:focus:active,
+.inline-toolbar.toolbar .button.default:active { 
+    border-image: url("borders/primary-toolbar-generic-border-focused.svg") 4 / 4 stretch;
+    border-radius: 3;
+    border-width: 2;
+}
+
+/* primary toolbar - generic button borders */
+.primary-toolbar .button.raised,
+.primary-toolbar .raised .button,
+.primary-toolbar .button.raised:hover,
+.primary-toolbar .raised .button:hover,
+.inline-toolbar.toolbar .button {
+    border-image: url("borders/primary-toolbar-button-border.svg") 4 / 4 stretch;
+    border-radius: 3;
+    border-width: 2;
+}
+
+/* primary toolbar - focused button borders */
+.primary-toolbar .button.raised:focus,
+.primary-toolbar .button.raised.default,
+.primary-toolbar .raised .button:focus,
+.primary-toolbar .raised .button.default,
+.primary-toolbar .button.raised:focus:hover,
+.primary-toolbar .raised .button:focus:hover,
+.inline-toolbar.toolbar .button:focus,
+.inline-toolbar.toolbar .button.default { 
+    border-image: url("borders/primary-toolbar-button-border-focused.svg") 4 / 4 stretch;
+    border-radius: 3;
+    border-width: 2;
+}
+
+GtkScale.trough,
+GtkSwitch.trough,
+GtkScale.trough.horizontal {
+    border-image: url("assets/trough-border-horizontal.svg") 2 / 2 stretch;
+}
+
+GtkScale.trough.vertical {
+    border-image: url("assets/trough-border-vertical.svg") 2 / 2 stretch;
+}
+
+GtkSwitch.trough:active,
+GtkScale.progressbar.horizontal {
+    border-image: url("assets/trough-active-border-horizontal.svg") 2 / 2 stretch;
+}
+
+GtkScale.progressbar.vertical {
+    border-image: url("assets/trough-active-border-vertical.svg") 2 / 2 stretch;
+}
+
+GtkSwitch.slider {
+    border-image: url("assets/switch-slider-border.svg") 2 / 2 stretch;
+}
+
+GtkSwitch.slider:active {
+    border-image: url("assets/switch-slider-active-border.svg") 2 / 2 stretch;
+}
+
+.progressbar,
+.entry.progressbar,
+.progressbar row,
+.progressbar row:hover,
+.progressbar row:selected,
+.progressbar row:selected:focus {
+    border-image: url("assets/progressbar-border.svg") 3 / 3 stretch;
+}
+
+.progressbar.vertical {
+    border-image: url("assets/progressbar-border-vertical.svg") 3 / 3 stretch;
+}
diff --git a/themes/Adwaita/gtk-3.0/gtk-widgets.css b/themes/Adwaita/gtk-3.0/gtk-widgets.css
index 53dfe77..f4eb6a4 100644
--- a/themes/Adwaita/gtk-3.0/gtk-widgets.css
+++ b/themes/Adwaita/gtk-3.0/gtk-widgets.css
@@ -64,7 +64,7 @@ GtkWindow {
     color: @theme_selected_fg_color;
 }
 
-*:selected:focused {
+*:selected:focus {
     background-color: @theme_selected_bg_color;
     color: @theme_selected_fg_color;
 }
@@ -79,6 +79,9 @@ GtkWindow {
     background-color: shade (@theme_bg_color, 0.915);
 }
 
+/************
+ * Tooltips *
+ ************/
 .tooltip {
     padding: 4 4;
     border-style: none;
@@ -94,6 +97,9 @@ GtkWindow {
     background-color: alpha(@theme_tooltip_bg_color, 0.90);
 }
 
+/*****************
+ * Miscellaneous *
+ *****************/
 .grip {
     background-color: shade (@inactive_frame_color, 0.93);
 }
@@ -108,6 +114,19 @@ GtkWindow {
     border-radius: 2;
 }
 
+GtkStatusbar {
+    padding: 5;
+    color: @theme_fg_color;
+    -GtkStatusbar-shadow-type: none;
+}
+
+.dnd {
+    border-width: 1;
+    border-style: solid;
+    border-color: @theme_selected_bg_color;
+    border-radius: 0;
+}
+
 GtkTreeView .separator,
 .separator {
     color: darker (@theme_bg_color);
@@ -122,28 +141,11 @@ GtkTreeView .separator,
     color: @theme_text_color;
 }
 
-GtkStatusbar {
-    padding: 5;
-    color: @theme_fg_color;
-    -GtkStatusbar-shadow-type: none;
-}
-
-.dnd {
-    border-width: 1;
-    border-style: solid;
-    border-color: @theme_selected_bg_color;
-    border-radius: 0;
-}
-
 /****************
  * Text Entries *
  ****************/
 .entry {
-    background-color: @theme_base_color;
-
     border-style: solid;
-    border-width: 1;
-    border-radius: 3;
 
     /* we use inner-border instead of padding because padding
      * also applies to the progressbar.
@@ -157,33 +159,10 @@ GtkStatusbar {
     color: @entry_text_color;
 }
 
-.entry,
-GtkComboBox.combobox-entry .button,
-GtkComboBox.combobox-entry .button:prelight,
-.primary-toolbar GtkComboBox.combobox-entry .button,
-.primary-toolbar GtkComboBox.combobox-entry .button:prelight {
-    background-image: -gtk-gradient(linear,
-                                    left top, left bottom,
-                                    from(@entry_background_a),
-                                    color-stop(0.20, @entry_background_b),
-                                    color-stop(0.85, @entry_background_c),
-                                    to(@entry_background_d));
-}
-
-.entry:insensitive {
-    background-color: @insensitive_bg_color;
-    background-image: none;
-
-    border-image: none;
-    border-style: solid;
-}
-
 .entry.progressbar {
     background-color: @theme_selected_bg_color;
     color: @theme_selected_fg_color;
 
-    border-width: 1;
-    border-radius: 3;
     /* border-image defined in -assets variant */
 
     -adwaita-progressbar-pattern: none;
@@ -223,10 +202,8 @@ GtkComboBox.combobox-entry .button:prelight,
 .spinbutton .button:insensitive  {
     border-width: 0 1;
     border-radius: 0;
-
-    border-image: none;
     border-style: solid;
-    border-color: @button_border;
+    border-image-width: 0 3;
 }
 
 .spinbutton .button:nth-child(first),
@@ -259,7 +236,7 @@ GtkComboBox.combobox-entry .button:prelight,
 .progressbar row,
 .progressbar row:hover,
 .progressbar row:selected,
-.progressbar row:selected:focused {
+.progressbar row:selected:focus {
     background-image: -gtk-gradient (linear,
                                      left top, left bottom,
                                      from (@progressbar_background_a),
@@ -322,7 +299,7 @@ GtkProgressBar,
 }
 
 .trough row:selected,
-.trough row:selected:focused {
+.trough row:selected:focus {
     background-image: -gtk-gradient (linear,
                                      left top, left bottom,
                                      from (mix (@trough_bg_color_a, @theme_selected_bg_color, 0.25)),
@@ -345,8 +322,8 @@ GtkScale.slider:insensitive {
     border-radius: 0;
     border-style: none;
 
-    color: alpha(@theme_base_color, 0.0);
-    background-color: alpha(@theme_base_color, 0.0);
+    color: alpha(@theme_base_color, 0.0); /* FIXME */
+    background-color: transparent;
 
     /* background-image in -assets variant */
 }
@@ -421,7 +398,7 @@ GtkScrolledWindow.frame {
     -adwaita-focus-border-dashes: 0;
     -GtkWidget-focus-line-width: 2;
 
-    -GtkButton-child-displacement-x: 1;
+    -GtkButton-child-displacement-x: 0;
     -GtkButton-child-displacement-y: 1;
     -GtkButton-image-spacing: 4;
     -GtkButton-interior-focus: true;
@@ -430,81 +407,247 @@ GtkScrolledWindow.frame {
 
     color: @theme_text_color;
 
-    border-radius: 3;
-    border-width: 1;
     border-style: none;
     /* border-image in -assets variant */
-
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-                                     from (@button_gradient_color_a),
-                                     to (@button_gradient_color_b));
 }
 
-.button:hover,
-.toolbar .button:hover {
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-				     from (@button_hover_gradient_color_a),
-				     to (@button_hover_gradient_color_b));
+.button:insensitive {
+    color: @insensitive_fg_color;
 }
 
-.button:active,
-.toolbar .button:active,
-.button:hover:active,
-.toolbar .button:hover:active {
-    background-image: -gtk-gradient (linear,
-    				     left top, left bottom,
-                                     from (@button_active_gradient_color_a),
-				     to (alpha (@button_active_gradient_color_b, 0.13)));
+/* Remove borders from primary toolbar buttons*/
+.primary-toolbar .button,
+.primary-toolbar .button:hover,
+.primary-toolbar .button:focus,
+.primary-toolbar .button:insensitive {
+    border-image: none;
+    border-style: none;
+    border-width: 0;
 }
 
-.button:insensitive {
+/* We may want a background for focused buttons, but in the meantime let's remove it too */
+.primary-toolbar .button,
+.primary-toolbar .button:focus,
+.primary-toolbar .button:insensitive {
     background-image: none;
-    background-color: @insensitive_bg_color;
-    color: @insensitive_fg_color;
+    background-color: transparent;
+}
 
-    border-image: none;
-    border-style: solid;
+/* linked buttons */
+
+/* Set up shadows and hilights for button visual separation */
+.linked .button,
+.primary-toolbar .button.raised.linked,
+.primary-toolbar .raised.linked .button,
+.inline-toolbar.toolbar .button,
+.inline-toolbar.toolbar GtkToolButton .button {
+    box-shadow: 1 0 inset @inset_light_color, -1 0 inset @inset_dark_color;
 }
 
-.button.default {
-    border-width: 1;
+.linked .button:first-child,
+.primary-toolbar .button.raised.linked:first-child,
+.primary-toolbar .raised.linked .button:first-child,
+.inline-toolbar.toolbar .button:first-child,
+.inline-toolbar.toolbar GtkToolButton:first-child .button {
+    box-shadow: -1 0 inset @inset_dark_color;
 }
 
-/* linked style for buttons */
-.linked .button {
-    border-image: none;
-    border-style: solid;
-    border-width: 1 0;
-    border-radius: 0;
-    border-color: @button_border;
-    box-shadow: 1 0 inset shade(@button_border, 1.40), -1 0 inset @button_border;
+.linked .button:last-child,
+.primary-toolbar .button.raised.linked:last-child,
+.primary-toolbar .raised.linked .button:last-child,
+.inline-toolbar.toolbar .button:last-child,
+.inline-toolbar.toolbar GtkToolButton:last-child .button {
+    box-shadow: 1 0 inset @inset_light_color;
+}
+
+.linked .button:only-child,
+.primary-toolbar .button.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:only-child,
+.inline-toolbar.toolbar .button:only-child,
+.inline-toolbar.toolbar GtkToolButton:only-child .button {
+    box-shadow: none;
 }
 
 .linked .button:active,
-.linked .button:active:hover {
-    border-image: none;
-    box-shadow: -1 0 inset @button_border;
+.primary-toolbar .button.raised.linked:active,
+.primary-toolbar .raised.linked .button:active,
+.inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar GtkToolButton .button:active {
+    box-shadow: 1 0 inset @inset_dark_color;
 }
 
-.linked .button:nth-child(first),
-.linked .button:active:nth-child(first),
-.linked .button:active:hover:nth-child(first) {
-    border-radius: 3 0 0 3;
-    border-left-width: 1;
-    box-shadow: -1 0 inset @button_border;
+/* Middle button */
+.linked .button,
+.linked .button:active,
+.linked .button:active:hover,
+.linked .button:focus,
+.linked .button:focus:active {
+    border-right-width: 0;
+    border-left-width: 0;
+    border-image-width: 3 0 4 0;
+    border-radius: 0;
 }
 
-.linked .button:nth-child(last) {
-    box-shadow: 1 0 inset shade(@button_border, 1.40);
-    border-radius: 0 3 3 0;
+/* Leftmost button */
+.linked .button:first-child,
+.linked .button:active:first-child,
+.linked .button:active:hover:first-child,
+.linked .button:focus:first-child,
+.linked .button:focus:active:first-child {
+    border-right-width: 0;
+    border-image-width: 3 0 4 3;
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0;
+}
+
+/* Rightmost button */
+.linked .button:last-child,
+.linked .button:active:last-child,
+.linked .button:active:hover:last-child,
+.linked .button:focus:last-child,
+.linked .button:focus:active:last-child {
+    border-left-width: 0;
+    border-image-width: 3 3 4 0;
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0;
+}
+
+/* Linked single button */
+.linked .button:only-child,
+.linked .button:active:only-child,
+.linked .button:active:hover:only-child,
+.linked .button:focus:only-child,
+.linked .button:focus:active:only-child {
     border-right-width: 1;
+    border-left-width: 1;
+    border-image-width: 3 3 4 3;
+    border-radius: 3;
 }
 
-.linked .button:active:nth-child(last),
-.linked .button:active:hover:nth-child(last) {
-    box-shadow: none;
+/* Linked buttons on primary toolbars */
+
+/* Middle button */
+.toolbar .button.raised.linked,
+.toolbar .button.raised.linked:active,
+.toolbar .button.raised.linked:active:hover,
+.toolbar .button.raised.linked:focus,
+.toolbar .button.raised.linked:focus:active,
+.toolbar .button.raised.linked:insensitive,
+.toolbar .raised.linked .button,
+.toolbar .raised.linked .button:active,
+.toolbar .raised.linked .button:active:hover,
+.toolbar .raised.linked .button:focus,
+.toolbar .raised.linked .button:focus:active,
+.toolbar .raised.linked .button:insensitive,
+.inline-toolbar.toolbar .button,
+.inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar .button:active:hover,
+.inline-toolbar.toolbar .button:focus,
+.inline-toolbar.toolbar .button:focus:active,
+.inline-toolbar.toolbar .button:insensitive,
+.inline-toolbar.toolbar GtkToolButton .button,
+.inline-toolbar.toolbar GtkToolButton .button:active,
+.inline-toolbar.toolbar GtkToolButton .button:active:hover,
+.inline-toolbar.toolbar GtkToolButton .button:focus,
+.inline-toolbar.toolbar GtkToolButton .button:focus:active,
+.inline-toolbar.toolbar GtkToolButton .button:insensitive {
+    border-right-width: 0;
+    border-left-width: 0;
+    border-image-width: 4 0 4 0;
+    border-radius: 0;
+}
+
+/* Leftmost button */
+.toolbar .button.raised.linked:first-child,
+.toolbar .button.raised.linked:active:first-child,
+.toolbar .button.raised.linked:active:hover:first-child,
+.toolbar .button.raised.linked:focus:first-child,
+.toolbar .button.raised.linked:focus:active:first-child,
+.toolbar .button.raised.linked:insensitive:first-child,
+.toolbar .raised.linked .button:first-child,
+.toolbar .raised.linked .button:active:first-child,
+.toolbar .raised.linked .button:active:hover:first-child,
+.toolbar .raised.linked .button:focus:first-child,
+.toolbar .raised.linked .button:focus:active:first-child,
+.toolbar .raised.linked .button:insensitive:first-child,
+.inline-toolbar.toolbar .button:first-child,
+.inline-toolbar.toolbar .button:active:first-child,
+.inline-toolbar.toolbar .button:active:hover:first-child,
+.inline-toolbar.toolbar .button:focus:first-child,
+.inline-toolbar.toolbar .button:focus:active:first-child,
+.inline-toolbar.toolbar .button:insensitive:first-child,
+.inline-toolbar.toolbar GtkToolButton:first-child .button,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:active,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:active:hover,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:focus,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:focus:active,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive {
+    border-right-width: 0;
+    border-image-width: 4 0 4 4;
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0;
+}
+
+/* Rightmost button */
+.toolbar .button.raised.linked:last-child,
+.toolbar .button.raised.linked:active:last-child,
+.toolbar .button.raised.linked:active:hover:last-child,
+.toolbar .button.raised.linked:focus:last-child,
+.toolbar .button.raised.linked:focus:active:last-child,
+.toolbar .button.raised.linked:insensitive:last-child,
+.toolbar .raised.linked .button:last-child,
+.toolbar .raised.linked .button:active:last-child,
+.toolbar .raised.linked .button:active:hover:last-child,
+.toolbar .raised.linked .button:focus:last-child,
+.toolbar .raised.linked .button:focus:active:last-child,
+.toolbar .raised.linked .button:insensitive:last-child,
+.inline-toolbar.toolbar .button:last-child,
+.inline-toolbar.toolbar .button:active:last-child,
+.inline-toolbar.toolbar .button:active:hover:last-child,
+.inline-toolbar.toolbar .button:focus:last-child,
+.inline-toolbar.toolbar .button:focus:active:last-child,
+.inline-toolbar.toolbar .button:insensitive:last-child,
+.inline-toolbar.toolbar GtkToolButton:last-child .button,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:active,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:active:hover,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:focus,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:focus:active,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive {
+    border-left-width: 0;
+    border-image-width: 4 4 4 0;
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0;
+}
+
+/* Single button */
+.toolbar .button.raised.linked:only-child,
+.toolbar .button.raised.linked:active:only-child,
+.toolbar .button.raised.linked:active:hover:only-child,
+.toolbar .button.raised.linked:focus:only-child,
+.toolbar .button.raised.linked:focus:active:only-child,
+.toolbar .button.raised.linked:insensitive:only-child,
+.toolbar .raised.linked .button:only-child,
+.toolbar .raised.linked .button:active:only-child,
+.toolbar .raised.linked .button:active:hover:only-child,
+.toolbar .raised.linked .button:focus:only-child,
+.toolbar .raised.linked .button:focus:active:only-child,
+.toolbar .raised.linked .button:insensitive:only-child,
+.inline-toolbar.toolbar .button:only-child,
+.inline-toolbar.toolbar .button:active:only-child,
+.inline-toolbar.toolbar .button:active:hover:only-child,
+.inline-toolbar.toolbar .button:focus:only-child,
+.inline-toolbar.toolbar .button:focus:active:only-child,
+.inline-toolbar.toolbar .button:insensitive:only-child,
+.inline-toolbar.toolbar GtkToolButton:only-child .button,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:active,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:active:hover,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:focus,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:focus:active,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive {
+    border-right-width: 2;
+    border-left-width: 2;
+    border-image-width: 4;
+    border-radius: 3;
 }
 
 /*****************
@@ -587,7 +730,7 @@ GtkScrolledWindow.frame {
 
     border-style: none;
     border-image: none;
-    background-color: alpha (@theme_bg_color, 0.0);
+    background-color: transparent;
     background-image: none;
 }
 
@@ -613,86 +756,69 @@ GtkComboBox .separator {
     -GtkWidget-vertical-separator: 0;
 }
 
-GtkComboBox .entry,
-GtkComboBox .entry:nth-child(first) {
-    border-width: 1 0 1 1;
+GtkComboBox.combobox-entry .entry:first-child,
+GtkComboBox.combobox-entry .entry:focus:first-child,
+GtkComboBox.combobox-entry .button:first-child,
+GtkComboBox.combobox-entry .button:focus:first-child,
+GtkComboBox.combobox-entry .button:insensitive:first-child,
+GtkComboBox.combobox-entry .button:active:first-child {
+    border-image-width: 3 0 4 3;
     border-radius: 3 0 0 3;
-    border-image-width: 2 0 2 2;
+    border-right-width: 0;
 }
 
-/* for RTL languages */
-GtkComboBox .entry:nth-child(last) {
-    border-width: 1 1 1 0;
+GtkComboBox.combobox-entry .entry:last-child,
+GtkComboBox.combobox-entry .entry:focus:last-child,
+GtkComboBox.combobox-entry .button:last-child,
+GtkComboBox.combobox-entry .button:focus:last-child,
+GtkComboBox.combobox-entry .button:insensitive:last-child,
+GtkComboBox.combobox-entry .button:active:last-child {
+    border-image-width: 3 3 4 0;
     border-radius: 0 3 3 0;
-    border-image-width: 2 2 2 0;
+    border-left-width: 0;
 }
 
-GtkComboBox .button {
-    color: @internal_element_color;
-    padding: 2 3 2 6;
-}
-
-GtkComboBox .button *:prelight {
-    color: @theme_text_color;
-}
-
-.primary-toolbar GtkComboBox.combobox-entry .button,
-GtkComboBox.combobox-entry .button,
-.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(last),
-GtkComboBox.combobox-entry .button:nth-child(last) {
-    border-width: 1 1 1 0;
-    border-radius: 0 3 3 0;
-
-    padding: 2 3;
-    -adwaita-focus-fill-color: alpha (@theme_base_color, 0.0);
-}
-
-/* for RTL languages */
-.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(first),
-GtkComboBox.combobox-entry .button:nth-child(first) {
-    border-width: 1 0 1 1;
+.primary-toolbar GtkComboBox.combobox-entry .entry:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .entry:focus:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:prelight:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:active:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:focus:first-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:insensitive:first-child {
+    border-image-width: 4 0 4 4;
     border-radius: 3 0 0 3;
+    border-right-width: 0;
 }
 
-.primary-toolbar GtkComboBox.combobox-entry .button,
-GtkComboBox.combobox-entry .button {
-    border-width: 1 1 1 0;
+.primary-toolbar GtkComboBox.combobox-entry .entry:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .entry:focus:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:prelight:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:active:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:focus:last-child,
+.primary-toolbar GtkComboBox.combobox-entry .button:insensitive:last-child {
+    border-image-width: 4 4 4 0;
     border-radius: 0 3 3 0;
-
-    padding: 2 3;
-    -adwaita-focus-fill-color: alpha (@theme_base_color, 0.0);
+    border-left-width: 0;
 }
 
-.primary-toolbar GtkComboBox.combobox-entry .button *:active,
-.primary-toolbar GtkComboBox.combobox-entry .button *:prelight,
-GtkComboBox.combobox-entry .button *:active,
-GtkComboBox.combobox-entry .button *:prelight {
-    color: @internal_element_prelight;
+GtkComboBox.combobox-entry .button:active:last-child,
+GtkComboBox.combobox-entry .button:hover:active:last-child {
+    box-shadow: 1 0 inset @inset_dark_color;
 }
 
-.primary-toolbar GtkComboBox.combobox-entry .button:active,
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active,
-GtkComboBox.combobox-entry .button:active,
-GtkComboBox.combobox-entry .button:hover:active,
-.primary-toolbar GtkComboBox.combobox-entry .button:active:nth-child(last),
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active:nth-child(last),
-GtkComboBox.combobox-entry .button:active:nth-child(last),
-GtkComboBox.combobox-entry .button:hover:active:nth-child(last) {
-    background-image: -gtk-gradient(linear,
-                                    left top, left bottom,
-                                    from(shade(@entry_background_a, 0.95)),
-                                    color-stop(0.20, shade(@entry_background_b, 0.95)),
-                                    color-stop(0.85, shade(@entry_background_c, 0.95)),
-                                    to(shade(@entry_background_d, 0.95)));
+GtkComboBox.combobox-entry .button:active:first-child,
+GtkComboBox.combobox-entry .button:hover:active:first-child {
+    box-shadow: -1 0 inset @inset_dark_color;
+}
 
-    box-shadow: 1 0 inset shade(@frame_color, 1.50);
+GtkComboBox .button {
+    color: @internal_element_color;
+    padding: 2 3 2 6; /* FIXME */
 }
 
-.primary-toolbar GtkComboBox.combobox-entry .button:active:nth-child(first),
-.primary-toolbar GtkComboBox.combobox-entry .button:hover:active:nth-child(first),
-GtkComboBox.combobox-entry .button:active:nth-child(first),
-GtkComboBox.combobox-entry .button:hover:active:nth-child(first) {
-    box-shadow: -1 0 inset shade(@frame_color, 1.50);
+GtkComboBox .button *:prelight {
+    color: @theme_text_color;
 }
 
 /**************
@@ -749,19 +875,29 @@ GtkComboBox.combobox-entry .button:hover:active:nth-child(first) {
 .scrollbar.button:prelight {
     background-image: none;
     background-color: @theme_base_color;
-    border-color: shade (@highlighted_border, 0.964)
+
+    border-image: none;
+    border-color: shade (@highlighted_border, 0.964);
+    border-width: 1;
 }
 
 .scrollbar.button:prelight:active {
     background-image: none;
     background-color: @theme_base_color;
-    border-color: shade (@highlighted_border, 0.964)
+
+    border-image: none;
+    border-color: shade (@highlighted_border, 0.964);
+    border-width: 1;
 }
 
 .scrollbar.button:insensitive {
-    color: @internal_element_insensitive;
+    background-image: none;
     background-color: @theme_base_color;
+    color: @internal_element_insensitive;
+
+    border-image: none;
     border-color: @button_border;
+    border-width: 1;
 }
 
 .scrollbar.slider:insensitive {
@@ -900,7 +1036,7 @@ GtkTreeMenu .menuitem * {
 .menuitem.check:insensitive,
 .menuitem.radio:insensitive {
     background-image: none;
-    background-color: alpha(@theme_base_color, 0.0);
+    background-color: transparent;
 }
 
 .menuitem.check:active,
@@ -970,7 +1106,7 @@ GtkTreeMenu .menuitem * {
 
 .radio,
 .check {
-    background-color: alpha(@theme_base_color, 0.0);
+    background-color: transparent;
     border-width: 0;
     border-style: none;
 
@@ -1046,195 +1182,9 @@ GtkTreeMenu .menuitem * {
     background-image: none;
     background-color: shade (@theme_bg_color, 0.97);
 
-    border-image: none;
-    border-style: solid;
     border-color: shade (@theme_bg_color, 0.91);
 }
 
-/* primary toolbar buttons */
-.primary-toolbar .toolbar .button,
-.primary-toolbar.toolbar .button {
-    border-style: none;
-    border-image: none;
-    border-radius: 4;
-
-    background-image: none;
-    background-color: alpha (@theme_base_color, 0.0);
-
-    -adwaita-focus-border-radius: 3;
-    -adwaita-focus-fill-color: alpha (@theme_base_color, 0.20);
-    -adwaita-focus-border-gradient: -gtk-gradient (linear,
-                                                   left top, left bottom,
-                                                   from (alpha (shade (@toolbar_active_button_color, 1.25), 0.90)),
-                                                   to (alpha (@toolbar_active_button_color, 0.62)));
-}
-
-.primary-toolbar .toolbar .button:insensitive,
-.primary-toolbar.toolbar .button:insensitive {
-    border-style: none;
-
-    background-image: none;
-    background-color: alpha (@theme_base_color, 0.0);
-    -GtkWidget-focus-line-width: 0;
-}
-
-.primary-toolbar .toolbar .button *:insensitive,
-.primary-toolbar.toolbar .button *:insensitive {
-    color: shade (@insensitive_fg_color, 0.85);
-}
-
-.primary-toolbar .toolbar .button:hover,
-.primary-toolbar.toolbar .button:hover {
-    background-color: transparent;
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-				     from (alpha (@theme_base_color, 0.0)),
-				     color-stop (0.54, alpha (shade (@theme_base_color, 0.92), 0.49)),
-			             to (alpha (@theme_base_color, 0.0)));
-}
-
-.primary-toolbar .toolbar .button:active,
-.primary-toolbar.toolbar .button:active {
-    border-style: none;
-    border-width: 1;
-    /* border-image defined in the -assets variant */
-
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-				     from (shade (@toolbar_gradient_base, 0.95)),
-			             to (alpha (shade (@toolbar_gradient_base, 0.85), 0.0)));
-}
-
-.primary-toolbar .toolbar .button *:active,
-.primary-toolbar.toolbar .button *:active {
-    color: @theme_fg_color;
-}
-
-.primary-toolbar .toolbar .button:active:hover,
-.primary-toolbar.toolbar .button:active:hover {
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-				     from (alpha (shade (@toolbar_gradient_base, 0.96), 0.7)),
-			             to (alpha (shade (@toolbar_gradient_base, 1.14), 0.0)));
-}
-
-.primary-toolbar .toolbar .button *:active:hover,
-.primary-toolbar.toolbar .button *:active:hover {
-    color: @theme_base_color;
-}
-
-.primary-toolbar .toolbar .button:active:insensitive,
-.primary-toolbar.toolbar .button:active:insensitive {
-    border-color: @insensitive_border_color;
-
-    border-image: none;
-    border-style: solid;
-
-    background-image: none;
-}
-
-.primary-toolbar .toolbar GtkSeparatorToolItem,
-.primary-toolbar.toolbar GtkSeparatorToolItem {
-    color: shade (@theme_bg_color, 0.56);
-}
-
-/* primary toolbar raised buttons */
-.toolbar .raised .button,
-.toolbar .raised.button {
-    border-width: 1;
-    border-style: none;
-    padding: 3;
-
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-                                     from (@button_raised_gradient_color_a),
-                                     to (@button_raised_gradient_color_b));
-
-    -GtkWidget-focus-line-width: 2;
-}
-
-.toolbar .raised .button:insensitive,
-.toolbar .raised.button:insensitive {
-    background-image: none;
-}
-
-.toolbar .raised .button:hover,
-.toolbar .raised.button:hover {
-    background-image: -gtk-gradient (linear,
-				     left top, left bottom,
-				     from (@button_hover_gradient_color_a),
-				     to (@button_hover_gradient_color_b));
-}
-
-.toolbar .raised .button:active,
-.toolbar .raised .button:hover:active,
-.toolbar .raised.button:hover:active,
-.toolbar .raised.button:active {
-    background-image: -gtk-gradient (linear,
-    				     left top, left bottom,
-                                     from (@button_raised_active_gradient_color_a),
-				     to (@button_raised_active_gradient_color_b));
-    background-color: @theme_base_color;
-}
-
-.toolbar .raised .button:insensitive:active
-.toolbar .raised.button:insensitive:active {
-    border-style: solid;
-    border-width: 1;
-}
-
-/* setup shadows */
-.toolbar .raised .button,
-.toolbar .raised.button {
-    icon-shadow: 0 1 @theme_base_color;
-    text-shadow: 0 1 @theme_base_color;
-}
-
-.toolbar .raised .button *:active,
-.toolbar .raised .button *:insensitive
-.toolbar .raised.button *:active,
-.toolbar .raised.button *:insensitive {
-    icon-shadow: none;
-    text-shadow: none;
-}
-
-/* nth-child for linked regions */
-.toolbar .raised.linked .button,
-.toolbar .raised.linked .button:active,
-.toolbar .raised.linked.button,
-.toolbar .raised.linked.button:active {
-    border-width: 1 0;
-    border-radius: 0;
-
-    box-shadow: inset 1 0 @button_raised_linked_shadow;
-}
-
-.toolbar .raised.linked .button *:active,
-.toolbar .raised.linked.button *:active {
-    icon-shadow: none;
-}
-
-.toolbar .raised.linked.button:nth-child(first),
-.toolbar .raised.linked.button:active:nth-child(first),
-.toolbar .raised.linked:nth-child(first) .button,
-.toolbar .raised.linked:nth-child(first) .button:active {
-    border-width: 1 0 1 1;
-
-    box-shadow: none;
-}
-
-.toolbar .raised.linked.button:nth-child(last),
-.toolbar .raised.linked.button:active:nth-child(last),
-.toolbar .raised.linked:nth-child(last) .button,
-.toolbar .raised.linked:nth-child(last) .button:active {
-    border-width: 1 1 1 0;
-}
-
-.primary-toolbar.toolbar .entry {
-    background-color: @primary_toolbar_entry_bg;
-    color: @primary_toolbar_entry_fg;
-}
-
 /* progressbars on primary toolbar entries are special */
 .primary-toolbar .toolbar .entry.progressbar,
 .primary-toolbar.toolbar .entry.progressbar {
@@ -1278,61 +1228,11 @@ GtkTreeMenu .menuitem * {
 				     to (shade (@theme_bg_color, 0.83)));
 }
 
-.inline-toolbar.toolbar:nth-child(last) {
+.inline-toolbar.toolbar:last-child {
     border-width: 0 1 1 1;
     border-radius: 0 0 3 3;
 }
 
-/* setup shadows */
-.inline-toolbar.toolbar .button,
-.inline-toolbar.toolbar .button:active,
-.inline-toolbar.toolbar .button:active:hover {
-    border-image: none;
-}
-
-.inline-toolbar.toolbar .button {
-    padding: 1;
-    icon-shadow: 0 1 @theme_base_color;
-
-    border-color: shade(@button_border, 0.95);
-    border-radius: 0;
-    border-width: 1 0 1 1;
-    border-style: solid;
-
-    box-shadow: inset 1 1 alpha(@theme_base_color, 0.50);
-}
-
-.inline-toolbar.toolbar .button:insensitive {
-    border-color: shade(@button_border, 0.95);
-    box-shadow: none;
-
-    background-color: alpha(@theme_base_color, 0.0);
-    background-image: none;
-}
-
-.inline-toolbar.toolbar .button *:active,
-.inline-toolbar.toolbar .button *:insensitive {
-    icon-shadow: none;
-}
-
-/* nth-child for inline toolbar button groups */
-.inline-toolbar.toolbar .button:nth-child(first),
-.inline-toolbar.toolbar GtkToolButton:nth-child(first) .button {
-    border-radius: 3 0 0 3;
-    box-shadow: none;
-}
-
-.inline-toolbar.toolbar .button:nth-child(last),
-.inline-toolbar.toolbar GtkToolButton:nth-child(last) .button {
-    border-radius: 0 3 3 0;
-    border-width: 1;
-}
-
-.inline-toolbar.toolbar GtkToolButton:active:nth-child(last) .button,
-.inline-toolbar.toolbar .button:active:nth-child(last) {
-    box-shadow: none;
-}
-
 /***********
  * Sidebar *
  ***********/
@@ -1346,10 +1246,10 @@ GtkTreeMenu .menuitem * {
 }
 
 .sidebar .radio,
-.sidebar .radio:focused,
+.sidebar .radio:focus,
 .sidebar .radio:selected {
     background-image: none;
-    background-color: alpha(@theme_base_color, 0.0);
+    background-color: transparent;
 }
 
 /****************
@@ -1448,7 +1348,7 @@ GtkIconView {
 }
 
 GtkIconView.view.cell:selected,
-GtkIconView.view.cell:selected:focused {
+GtkIconView.view.cell:selected:focus {
     background-color: @theme_selected_bg_color;
     border-radius: 4;
 
@@ -1510,7 +1410,7 @@ row:insensitive {
     border-width: 0;
 }
 
-row:selected:focused {
+row:selected:focus {
     border-width: 0;
     background-color: @theme_selected_bg_color;
 }
@@ -1564,7 +1464,7 @@ row:selected {
 }
 
 .expander row:selected,
-.expander row:selected:focused {
+.expander row:selected:focus {
     border-style: solid;
     border-width: 1;
 
@@ -1637,9 +1537,9 @@ GtkCalendar.highlight {
     color: mix (@theme_fg_color, @theme_bg_color, 0.50);
 }
 
-.dim-label:focused,
+.dim-label:focus,
 .dim-label:selected,
-.dim-label:selected:focused {
+.dim-label:selected:focus {
     color: mix (@theme_selected_fg_color, @theme_base_color, 0.50);
 }
 
diff --git a/themes/Adwaita/gtk-3.0/gtk.css b/themes/Adwaita/gtk-3.0/gtk.css
index 87d6252..10455c3 100644
--- a/themes/Adwaita/gtk-3.0/gtk.css
+++ b/themes/Adwaita/gtk-3.0/gtk.css
@@ -134,6 +134,9 @@
 
 @define-color expander_row_selected_color #acccee;
 
+ define-color inset_light_color alpha(white, 0.45);
+ define-color inset_dark_color alpha(black, 0.10);
+
 @define-color wm_highlight #ffffff;
 @define-color wm_title_highlight #ffffff;
 
@@ -154,6 +157,8 @@
 @define-color wm_button_bg_active_b shade (@bg_color, 0.9);
 @define-color wm_button_bg_active_c shade (@bg_color, 0.9);
 
- import url("gtk-widgets.css");
+ import url("gtk-widgets-backgrounds.css");
+ import url("gtk-widgets-borders.css");
 @import url("gtk-widgets-assets.css");
 @import url("gnome-applications.css");
+ import url("gtk-widgets.css"); /* I want this file to be the last to ovverride things */



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