[gnome-themes-standard] restructure the theme to use a SASS workflow



commit c10689c7b2dc1352e7b329f58c9f653e5682dca5
Author: Jakub Steiner <jimmac gmail com>
Date:   Mon May 12 13:21:11 2014 +0200

    restructure the theme to use a SASS workflow

 themes/Adwaita/gtk-3.0/_common.scss                |   68 ++++++
 themes/Adwaita/gtk-3.0/_drawing.scss               |    1 +
 .../gtk-3.0/gnome-applications-dark-overrides.css  |    8 -
 themes/Adwaita/gtk-3.0/gtk-dark.css                |   62 +++++-
 themes/Adwaita/gtk-3.0/gtk-dark.scss               |    6 +
 themes/Adwaita/gtk-3.0/gtk-fallback.css            |   15 --
 themes/Adwaita/gtk-3.0/gtk-main-common.css         |  100 --------
 themes/Adwaita/gtk-3.0/gtk-main-dark.css           |  202 ----------------
 themes/Adwaita/gtk-3.0/gtk-main.css                |  200 ----------------
 .../Adwaita/gtk-3.0/gtk-widgets-dark-overrides.css |  253 --------------------
 themes/Adwaita/gtk-3.0/gtk.css                     |   48 ++++-
 themes/Adwaita/gtk-3.0/gtk.gresource.xml           |   14 +-
 themes/Adwaita/gtk-3.0/gtk.scss                    |   23 ++
 13 files changed, 208 insertions(+), 792 deletions(-)
---
diff --git a/themes/Adwaita/gtk-3.0/_common.scss b/themes/Adwaita/gtk-3.0/_common.scss
new file mode 100644
index 0000000..b71ab0f
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/_common.scss
@@ -0,0 +1,68 @@
+debug {
+  @if $variant == 'dark' { background-color: red; }
+  @else { background-color: blue; }
+}
+
+* {
+    engine: adwaita;
+    padding: 0;
+    background-clip: padding-box;
+    -GtkToolButton-icon-spacing: 4;
+    -GtkTextView-error-underline-color: $error_color;
+    -GtkPaned-handle-size: 5;
+
+    -GtkCheckButton-indicator-size: 16;
+    -GtkCheckMenuItem-indicator-size: 12;
+
+    /* The size for scrollbars. The slider is 2px smaller, but we keep it
+     * up so that the whole area is sensitive to button presses for the
+     * slider. The stepper button is larger in both directions, the slider
+     * only in the width
+     */
+
+    -GtkScrolledWindow-scrollbar-spacing: 0;
+    -GtkScrolledWindow-scrollbars-within-bevel: 1;
+
+    -GtkToolItemGroup-expander-size: 11;
+    -GtkExpander-expander-size: 11;
+    -GtkTreeView-expander-size: 11;
+
+    -GtkTreeView-horizontal-separator: 4;
+
+    -GtkMenu-horizontal-padding: 0;
+    -GtkMenu-vertical-padding: 0;
+
+    -GtkWidget-link-color: $link_color;
+    -GtkWidget-visited-link-color: $link_color;
+
+    -GtkWidget-focus-padding: 2;
+    -GtkWidget-focus-line-width: 1;
+    -GtkWindow-resize-grip-width: 0;
+    -GtkWindow-resize-grip-height: 0;   
+
+    // We use the outline properties to signal the focus properties
+    // to the adwaita engine: using real CSS properties is faster,
+    // and we don't use any outlines for now.
+
+    outline-color: transparentize($theme_fg_color, 0.3);
+    outline-style: dashed;
+    outline-offset: 2px;
+}
+
+/***************
+ * Base States *
+ ***************/
+
+.background {
+    color: $theme_fg_color;
+    background-color: $theme_bg_color;
+}
+
+.background:backdrop {
+    /* I want everything nice and flat in the unfocused window */
+    text-shadow: none;
+    icon-shadow: none;
+
+    color: lighten($theme_fg_color,10%);
+}
+
diff --git a/themes/Adwaita/gtk-3.0/_drawing.scss b/themes/Adwaita/gtk-3.0/_drawing.scss
new file mode 100644
index 0000000..52dd642
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/_drawing.scss
@@ -0,0 +1 @@
+// Drawing mixins
diff --git a/themes/Adwaita/gtk-3.0/gtk-dark.css b/themes/Adwaita/gtk-3.0/gtk-dark.css
index a5a09b2..29e9145 100644
--- a/themes/Adwaita/gtk-3.0/gtk-dark.css
+++ b/themes/Adwaita/gtk-3.0/gtk-dark.css
@@ -1 +1,61 @@
- import url("resource:///org/gnome/adwaita/gtk-main-dark.css");
+/*
+Syntax error: Undefined variable: "$error_color".
+        on line 11 of _common.scss
+        from line 6 of ./gtk-dark.scss
+
+6: @import 'common';
+
+Backtrace:
+_common.scss:11
+./gtk-dark.scss:6
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/script/variable.rb:49:in `_perform'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/script/node.rb:40:in `perform'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:298:in `visit_prop'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:100:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `block in visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `map'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:121:in `with_environment'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:108:in `visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `block in visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:320:in `visit_rule'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:100:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:227:in `block in visit_import'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:227:in `map'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:227:in `visit_import'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:100:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `block in visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `map'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:53:in `visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:121:in `with_environment'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:108:in `visit_children'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `block in visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:128:in `visit_root'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/base.rb:37:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:100:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/visitors/perform.rb:7:in `visit'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/tree/root_node.rb:20:in `render'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/engine.rb:315:in `_render'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/engine.rb:262:in `render'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/plugin/compiler.rb:362:in `update_stylesheet'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/plugin/compiler.rb:203:in `block in update_stylesheets'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/plugin/compiler.rb:201:in `each'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/plugin/compiler.rb:201:in `update_stylesheets'
+/home/jimmac/.gem/ruby/gems/sass-3.2.13/lib/sass/plugin/compiler.rb:283:in `block in watch'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/multi_listener.rb:108:in `call'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/multi_listener.rb:108:in `on_change'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/multi_listener.rb:117:in `block in initialize_adapter'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/adapter.rb:198:in `call'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/adapter.rb:198:in `report_changes'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/adapter.rb:210:in `poll_changed_dirs'
+/home/jimmac/.gem/ruby/gems/listen-0.7.3/lib/listen/adapters/linux.rb:48:in `block in start'
+*/
+body:before {
+  white-space: pre;
+  font-family: monospace;
+  content: "Syntax error: Undefined variable: \"$error_color\".\A         on line 11 of _common.scss\A       
  from line 6 of ./gtk-dark.scss\A \A 6: @import 'common';"; }
diff --git a/themes/Adwaita/gtk-3.0/gtk-dark.scss b/themes/Adwaita/gtk-3.0/gtk-dark.scss
new file mode 100644
index 0000000..94438a4
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/gtk-dark.scss
@@ -0,0 +1,6 @@
+$variant: 'dark';
+
+// Color definitions
+
+ import 'drawing';
+ import 'common';
diff --git a/themes/Adwaita/gtk-3.0/gtk.css b/themes/Adwaita/gtk-3.0/gtk.css
index 6b4fc65..c0fd658 100644
--- a/themes/Adwaita/gtk-3.0/gtk.css
+++ b/themes/Adwaita/gtk-3.0/gtk.css
@@ -1 +1,47 @@
- import url("resource:///org/gnome/adwaita/gtk-main.css");
+debug {
+  background-color: blue; }
+
+* {
+  engine: adwaita;
+  padding: 0;
+  background-clip: padding-box;
+  -GtkToolButton-icon-spacing: 4;
+  -GtkTextView-error-underline-color: #cc0000;
+  -GtkPaned-handle-size: 5;
+  -GtkCheckButton-indicator-size: 16;
+  -GtkCheckMenuItem-indicator-size: 12;
+  /* The size for scrollbars. The slider is 2px smaller, but we keep it
+   * up so that the whole area is sensitive to button presses for the
+   * slider. The stepper button is larger in both directions, the slider
+   * only in the width
+   */
+  -GtkScrolledWindow-scrollbar-spacing: 0;
+  -GtkScrolledWindow-scrollbars-within-bevel: 1;
+  -GtkToolItemGroup-expander-size: 11;
+  -GtkExpander-expander-size: 11;
+  -GtkTreeView-expander-size: 11;
+  -GtkTreeView-horizontal-separator: 4;
+  -GtkMenu-horizontal-padding: 0;
+  -GtkMenu-vertical-padding: 0;
+  -GtkWidget-link-color: #74aae2;
+  -GtkWidget-visited-link-color: #74aae2;
+  -GtkWidget-focus-padding: 2;
+  -GtkWidget-focus-line-width: 1;
+  -GtkWindow-resize-grip-width: 0;
+  -GtkWindow-resize-grip-height: 0;
+  outline-color: rgba(46, 52, 54, 0.7);
+  outline-style: dashed;
+  outline-offset: 2px; }
+
+/***************
+ * Base States *
+ ***************/
+.background {
+  color: #2e3436;
+  background-color: #ededed; }
+
+.background:backdrop {
+  /* I want everything nice and flat in the unfocused window */
+  text-shadow: none;
+  icon-shadow: none;
+  color: #454f52; }
diff --git a/themes/Adwaita/gtk-3.0/gtk.gresource.xml b/themes/Adwaita/gtk-3.0/gtk.gresource.xml
index 96d4235..b77072c 100644
--- a/themes/Adwaita/gtk-3.0/gtk.gresource.xml
+++ b/themes/Adwaita/gtk-3.0/gtk.gresource.xml
@@ -326,17 +326,7 @@
     <file preprocess="to-pixdata">assets/header-separator 2 png</file>
     <file preprocess="to-pixdata">assets/header-separator-dark.png</file>
     <file preprocess="to-pixdata">assets/header-separator-dark 2 png</file>
-    <file>assets/spinner.svg</file>
-    <file>assets/spinner-dark.svg</file>
-    <file>gnome-applications.css</file>
-    <file>gnome-applications-dark-overrides.css</file>
-    <file>gtk-widgets.css</file>
-    <file>gtk-widgets-dark-overrides.css</file>
-    <file>gtk-widgets-assets.css</file>
-    <file>gtk-widgets-assets-dark.css</file>
-    <file>gtk-main.css</file>
-    <file>gtk-main-common.css</file>
-    <file>gtk-main-dark.css</file>
-    <file>gtk-fallback.css</file>
+    <file>gtk.css</file>
+    <file>gtk-dark.css</file>
   </gresource>
 </gresources>
diff --git a/themes/Adwaita/gtk-3.0/gtk.scss b/themes/Adwaita/gtk-3.0/gtk.scss
new file mode 100644
index 0000000..7dacb07
--- /dev/null
+++ b/themes/Adwaita/gtk-3.0/gtk.scss
@@ -0,0 +1,23 @@
+// General guidelines:
+// - very unlikely you want to edit something else than _common.scss
+// - keep the number of defined colors to a minimum, use the color blending functions if
+//   you need a subtle shade
+// - if you need to inverse a color function use the @if directive to match for dark $variant
+
+$variant: 'light';
+
+// Color definitions
+$theme_base_color: #ffffff;
+$theme_bg_color: #ededed;
+$theme_fg_color: #2e3436;
+$theme_selected_fg_color: #ffffff;
+$theme_selected_bg_color: #4a90d9;
+
+$link_color: lighten($theme_selected_bg_color,10%);
+$warning_color: #f57900;
+$error_color: #cc0000;
+$success_color: $theme_selected_bg_color;
+
+// common drawing routines
+ import 'drawing';
+ import 'common';


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