[gnome-themes-standard] restructure the theme to use a SASS workflow
- From: Jakub Steiner <jimmac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-themes-standard] restructure the theme to use a SASS workflow
- Date: Mon, 9 Jun 2014 13:06:06 +0000 (UTC)
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]