raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d109e1a057ade46074a69f4d70bded56c7f5b6e3

commit d109e1a057ade46074a69f4d70bded56c7f5b6e3
Author: Carsten Haitzler <ras...@rasterman.com>
Date:   Fri Jul 30 11:51:11 2021 +0100

    elm theme - more cc work
---
 data/elementary/themes/colorclasses.edc    |   7 +
 data/elementary/themes/edc/elm/genlist.edc |   6 +-
 data/elementary/themes/edc/elm/pointer.edc |   4 +-
 data/elementary/themes/edc/elm/slider.edc  | 572 +++++++++++------------------
 data/elementary/themes/edc/elm/thumb.edc   |   9 +-
 data/elementary/themes/edc/elm/toolbar.edc | 296 ++++++++-------
 data/elementary/themes/edc/slider.edc      |   6 +-
 7 files changed, 401 insertions(+), 499 deletions(-)

diff --git a/data/elementary/themes/colorclasses.edc 
b/data/elementary/themes/colorclasses.edc
index bf8cade741..2bb1eff68a 100644
--- a/data/elementary/themes/colorclasses.edc
+++ b/data/elementary/themes/colorclasses.edc
@@ -161,6 +161,8 @@ color_classes {
       color:  51 153 255 255; }
    color_class { name: "/fg/disabled/slider/bar";
       color:  80  80  80 255; }
+   color_class { name: "/fg/normal/slider/indicator";
+      color: 255 255 255 255; }
 ///////////////////////////////////////////////////////////////////////////////
    color_class { name: "/bg/normal/entry";
       color:  48  48  48 255; }
@@ -243,6 +245,9 @@ color_classes {
       color: 160 160 160 255; }
    color_class { name: "/fg/selected/menu/item";
       color: 255 255 255 255; }
+///////////////////////////////////////////////////////////////////////////////
+   color_class { name: "/fg/selected/thumb/bar";
+      color:  51 153 255 255; }
 ///////////////////////////////////////////////////////////////////////////////
    color_class { name: "/bg/normal/list/group";
       color:  32  32  32 255; }
@@ -439,6 +444,8 @@ color_classes {
 ///////////////////////////////////////////////////////////////////////////////
    color_class { name: "/bg/selected/toolbar/base";
       color:  32  32  32 255; }
+   color_class { name: "/fg/selected/toolbar/separator";
+      color:  80  80  80 255; }
 ///////////////////////////////////////////////////////////////////////////////
    color_class { name: "/fg/normal/winlist/text/title";
       color: 255 255 255 255; }
diff --git a/data/elementary/themes/edc/elm/genlist.edc 
b/data/elementary/themes/edc/elm/genlist.edc
index 280695c7d5..290cf0b651 100644
--- a/data/elementary/themes/edc/elm/genlist.edc
+++ b/data/elementary/themes/edc/elm/genlist.edc
@@ -406,7 +406,7 @@ group { "elm/genlist/item/default_style/default"; nomouse;
    data.item: "treesize" TREEPAD;
    data.item: "flips" "elm.text.flip";
    styles.style { "genlist_style";
-      base: "font="FN" font_size=10 align=left valign=0.5 color=#a0a0a0 
text_class=list_item";
+      base: "font="FN" font_size=10 align=left valign=0.5 
color=cc:/fg/normal/list/item text_class=list_item";
       tag: "br" "\n";
       tag: "ps" "ps";
       tag: "hilight" "+ font_weight=Bold";
@@ -414,7 +414,7 @@ group { "elm/genlist/item/default_style/default"; nomouse;
       tag: "tab" "\t";
    }
    styles.style { "genlist_style_selected";
-      base: "font="FN" font_size=10 align=left valign=0.5 color=#ffffff 
text_class=list_item_selected";
+      base: "font="FN" font_size=10 align=left valign=0.5 
color=cc:/fg/selected/list/item text_class=list_item_selected";
       tag: "br" "\n";
       tag: "ps" "ps";
       tag: "hilight" "+ font_weight=Bold";
@@ -422,7 +422,7 @@ group { "elm/genlist/item/default_style/default"; nomouse;
       tag: "tab" "\t";
    }
    styles.style { "genlist_style_disabled";
-      base: "font="FN" font_size=10 align=left valign=0.5 color=#505050 
text_class=list_item";
+      base: "font="FN" font_size=10 align=left valign=0.5 
color=cc:/fg/disabled/list/item text_class=list_item";
       tag: "br" "\n";
       tag: "ps" "ps";
       tag: "hilight" "+ font_weight=Bold";
diff --git a/data/elementary/themes/edc/elm/pointer.edc 
b/data/elementary/themes/edc/elm/pointer.edc
index afa13b36b6..9c91737108 100644
--- a/data/elementary/themes/edc/elm/pointer.edc
+++ b/data/elementary/themes/edc/elm/pointer.edc
@@ -49,7 +49,7 @@ group { name: "elm/pointer/base/bottom_right_corner";
       part { name: "box"; type: RECT;
          insert_after: "base";
          description { state: "default" 0.0;
-            color: 51 153 255 192;
+            color_class: "/fg/normal/pointer/manipulator";
             rel1.relative: 0.3 0.3;
             rel2.relative: 0.7 0.7;
          }
@@ -195,7 +195,7 @@ group { name: "elm/pointer/base/hand1";
       part { name: "box"; type: RECT;
          insert_after: "base";
          description { state: "default" 0.0;
-            color: 51 153 255 192;
+            color_class: "/fg/normal/pointer/manipulator";
             rel1.relative: 0.5 0.5;
             rel2.relative: 1.0 1.0;
          }
diff --git a/data/elementary/themes/edc/elm/slider.edc 
b/data/elementary/themes/edc/elm/slider.edc
index 7ea8d24aae..babbd13f8d 100644
--- a/data/elementary/themes/edc/elm/slider.edc
+++ b/data/elementary/themes/edc/elm/slider.edc
@@ -129,21 +129,20 @@ group { name: "elm/slider/horizontal/default";
       part { name: "base"; type: RECT; mouse_events: 0;
          scale: 1;
          description { state: "default" 0.0;
-            rel1.to: "elm.swallow.bar";
-            rel2.to: "elm.swallow.bar";
-            color: 48 48 48 255;
+            rel.to: "elm.swallow.bar";
+            color_class: "/bg/normal/slider/base";
             min: 8 4;
             max: 99999 4;
             fixed: 0 1;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 56 56 56 255;
+            color_class: "/bg/disabled/slider/base";
          }
       }
       part { name: "glow"; type: RECT; mouse_events: 0;
          description { state: "default" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.to: "base";
             rel2.relative: 0.5 1.0;
             rel2.to_x: "button";
@@ -151,10 +150,10 @@ group { name: "elm/slider/horizontal/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "inverted" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.5 0.0;
             rel1.to_x: "button";
             rel1.to_y: "base";
@@ -162,7 +161,7 @@ group { name: "elm/slider/horizontal/default";
          }
          description { state: "disabled_inverted" 0.0;
             inherit: "inverted" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
       }
       part { name: "dis_clip"; type: RECT;
@@ -172,7 +171,7 @@ group { name: "elm/slider/horizontal/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color_class: "/fg/disabled/slider/bar";
          }
       }
       part { name: "elm.swallow.icon"; type: SWALLOW;
@@ -207,7 +206,7 @@ group { name: "elm/slider/horizontal/default";
             rel2.to_x: "elm.swallow.icon";
             rel2.relative: 1.0 1.0;
             rel2.offset: -1 -5;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text";
             text { font: FN; size: 10;
                text_class: "slider";
                min: 0 0;
@@ -228,7 +227,7 @@ group { name: "elm/slider/horizontal/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text";
          }
       }
       part { name: "elm.swallow.end"; type: SWALLOW;
@@ -282,7 +281,7 @@ group { name: "elm/slider/horizontal/default";
             visible: 1;
             rel1.offset: -5 4;
             rel2.offset: -5 -5;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.units"; type: TEXT; mouse_events: 0;
@@ -292,7 +291,7 @@ group { name: "elm/slider/horizontal/default";
             fixed: 1 1;
             rel1.to_x: "limits";
             rel2.to_x: "limits";
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text/units";
             text { font: FN; size: 10;
                text_class: "slider";
                align: 1.0 0.5;
@@ -306,15 +305,14 @@ group { name: "elm/slider/horizontal/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text/units";
          }
       }
       part { name: "button"; type: GROUP; mouse_events: 0;
          source: "elm/slider/horizontal/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -327,7 +325,7 @@ group { name: "elm/slider/horizontal/default";
          dragable.y: 0 0 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -341,20 +339,19 @@ group { name: "elm/slider/horizontal/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent"; type: RECT; repeat_events: 1;
@@ -363,20 +360,18 @@ group { name: "elm/slider/horizontal/default";
          dragable.events: "elm.dragable.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0;
          description { state: "default" 0.0;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
       }
       part { name: "event"; type: RECT;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             visible: 0;
          }
          description { state: "disabled" 0.0;
@@ -386,28 +381,23 @@ group { name: "elm/slider/horizontal/default";
       }
    }
    programs {
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent";
+      program { signal: "mouse,down,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
@@ -415,8 +405,7 @@ group { name: "elm/slider/horizontal/default";
          action:  STATE_SET "hidden" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent";
+      program { signal: "mouse,up,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
@@ -424,32 +413,28 @@ group { name: "elm/slider/horizontal/default";
          action:  STATE_SET "default" 0.0;
          target: "button";
       }
-      program {
-         signal: "elm,state,text,visible"; source: "elm";
+      program { signal: "elm,state,text,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,text,hidden"; source: "elm";
+      program { signal: "elm,state,text,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,icon,visible"; source: "elm";
+      program { signal: "elm,state,icon,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,icon,hidden"; source: "elm";
+      program { signal: "elm,state,icon,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
@@ -472,21 +457,18 @@ group { name: "elm/slider/horizontal/default";
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= UNITS; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          action: SIGNAL_EMIT "limits,visible" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action:  STATE_SET "default" 0.0;
          script {
             new m = get_int(slmode);
@@ -494,37 +476,32 @@ group { name: "elm/slider/horizontal/default";
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action: SIGNAL_EMIT "limits,hide" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,inverted,on"; source: "elm";
+      program { signal: "elm,state,inverted,on"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= INVERT; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,inverted,off"; source: "elm";
+      program { signal: "elm,state,inverted,off"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~INVERT; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,disabled"; source: "elm";
+      program { signal: "elm,state,disabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= DISABLE; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~DISABLE; set_int(slmode, m);
@@ -562,9 +539,8 @@ group { name: "elm/slider/horizontal/indicator/default";
       part { name: "clip"; type: RECT;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.indicator";
+            rel.to: "elm.indicator";
             rel1.offset: -100 -100;
-            rel2.to: "elm.indicator";
             rel2.offset: 99 99;
             visible: 0;
             offscale;
@@ -578,10 +554,9 @@ group { name: "elm/slider/horizontal/indicator/default";
          clip_to: "clip";
          description { state: "default" 0.0;
             rel1.offset: -10 -10;
-            rel1.to: "elm.indicator";
+            rel.to: "elm.indicator";
             rel2.offset: 9 9;
-            rel2.to: "elm.indicator";
-            color: 0 0 0 64;
+            color_class: "/dim/normal/slider/indicator";
             offscale;
             visible: 0;
          }
@@ -602,7 +577,7 @@ group { name: "elm/slider/horizontal/indicator/default";
             rel2.to: "base";
             rel2.relative: 1.0 -0.1;
             rel2.offset: -1 -12;
-            color: 255 255 255 255;
+            color_class: "/fg/normal/slider/indicator";
             text { font: FNBD; size: 10;
                min: 1 1;
                align: 0.5 1.0;
@@ -619,51 +594,42 @@ group { name: "elm/slider/horizontal/indicator/default";
       }
    }
    programs {
-      program {
-         signal: "elm,popup,show"; source: "elm";
+      program { signal: "elm,popup,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,popup,hide"; source: "elm";
+      program { signal: "elm,popup,hide"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,popup,hide"; source: "elm";
+      program { signal: "elm,popup,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide,done" "elm";
       }
-      program {
-         signal: "elm,state,val,show"; source: "elm";
+      program { signal: "elm,state,val,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target: "clip";
       }
-      program {
-         signal: "elm,state,val,hide"; source: "elm";
+      program { signal: "elm,state,val,hide"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target: "clip";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal:  "elm,state,disabled"; source: "elm";
+      program { signal: "elm,state,disabled"; source: "elm";
          action:  STATE_SET "disabled" 0.0;
          target:  "base";
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target:  "base";
       }
@@ -770,21 +736,20 @@ group { name: "elm/slider/vertical/default";
       part { name: "base"; type: RECT; mouse_events: 0;
          scale: 1;
          description { state: "default" 0.0;
-            rel1.to: "elm.swallow.bar";
-            rel2.to: "elm.swallow.bar";
-            color: 48 48 48 255;
+            rel.to: "elm.swallow.bar";
+            color_class: "/bg/normal/slider/base";
             min: 4 8;
             max: 4 99999;
             fixed: 1 0;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 56 56 56 255;
+            color_class: "/bg/disabled/slider/base";
          }
       }
       part { name: "glow"; type: RECT; mouse_events: 0;
          description { state: "default" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.to: "base";
             rel2.relative: 1.0 0.5;
             rel2.to_y: "button";
@@ -792,10 +757,10 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "inverted" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.0 0.5;
             rel1.to_y: "button";
             rel1.to_x: "base";
@@ -803,7 +768,7 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "disabled_inverted" 0.0;
             inherit: "inverted" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
       }
       part { name: "dis_clip"; type: RECT;
@@ -813,7 +778,7 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.swallow.icon"; type: SWALLOW;
@@ -850,7 +815,7 @@ group { name: "elm/slider/vertical/default";
             rel2.to_y: "elm.swallow.icon";
             rel2.relative: 1.0 1.0;
             rel2.offset: -5 -1;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text";
             text { font: FN; size: 10;
                text_class: "slider";
                min: 0 0;
@@ -870,7 +835,7 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text";
          }
       }
       part { name: "elm.swallow.end"; type: SWALLOW;
@@ -928,7 +893,7 @@ group { name: "elm/slider/vertical/default";
             max: 9999 9999;
             rel1.offset: 4 -5;
             rel2.offset: -5 -5;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.units"; type: TEXT; mouse_events: 0;
@@ -938,7 +903,7 @@ group { name: "elm/slider/vertical/default";
             fixed: 1 1;
             rel1.to_y: "limits";
             rel2.to_y: "limits";
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text/units";
             text { font: FN; size: 10;
                text_class: "slider";
                align: 0.5 1.0;
@@ -952,15 +917,14 @@ group { name: "elm/slider/vertical/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text/units";
          }
       }
       part { name: "button"; type: GROUP; mouse_events: 0;
          source: "elm/slider/vertical/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -973,7 +937,7 @@ group { name: "elm/slider/vertical/default";
          dragable.y: 1 1 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -987,20 +951,19 @@ group { name: "elm/slider/vertical/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent"; type: RECT; repeat_events: 1;
@@ -1009,20 +972,18 @@ group { name: "elm/slider/vertical/default";
          dragable.events: "elm.dragable.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0;
          description { state: "default" 0.0;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
       }
       part { name: "event"; type: RECT;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             visible: 0;
          }
          description { state: "disabled" 0.0;
@@ -1032,28 +993,23 @@ group { name: "elm/slider/vertical/default";
       }
    }
    programs {
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent";
+      program { signal: "mouse,down,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
@@ -1061,8 +1017,7 @@ group { name: "elm/slider/vertical/default";
          action:  STATE_SET "hidden" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent";
+      program { signal: "mouse,up,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
@@ -1070,32 +1025,28 @@ group { name: "elm/slider/vertical/default";
          action:  STATE_SET "default" 0.0;
          target: "button";
       }
-      program {
-         signal: "elm,state,text,visible"; source: "elm";
+      program { signal: "elm,state,text,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,text,hidden"; source: "elm";
+      program { signal: "elm,state,text,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,icon,visible"; source: "elm";
+      program { signal: "elm,state,icon,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,icon,hidden"; source: "elm";
+      program { signal: "elm,state,icon,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
@@ -1118,21 +1069,18 @@ group { name: "elm/slider/vertical/default";
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= UNITS; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          action: SIGNAL_EMIT "limits,visible" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action:  STATE_SET "default" 0.0;
          script {
             new m = get_int(slmode);
@@ -1140,37 +1088,32 @@ group { name: "elm/slider/vertical/default";
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action: SIGNAL_EMIT "limits,hide" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,inverted,on"; source: "elm";
+      program { signal: "elm,state,inverted,on"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= INVERT; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,inverted,off"; source: "elm";
+      program { signal: "elm,state,inverted,off"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~INVERT; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,disabled"; source: "elm";
+      program { signal: "elm,state,disabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= DISABLE; set_int(slmode, m);
             eval_mode(m);
          }
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~DISABLE; set_int(slmode, m);
@@ -1208,9 +1151,8 @@ group { name: "elm/slider/vertical/indicator/default";
       part { name: "clip"; type: RECT;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.indicator";
+            rel.to: "elm.indicator";
             rel1.offset: -100 -100;
-            rel2.to: "elm.indicator";
             rel2.offset: 99 99;
             visible: 0;
             offscale;
@@ -1224,10 +1166,9 @@ group { name: "elm/slider/vertical/indicator/default";
          clip_to: "clip";
          description { state: "default" 0.0;
             rel1.offset: -10 -10;
-            rel1.to: "elm.indicator";
+            rel.to: "elm.indicator";
             rel2.offset: 9 9;
-            rel2.to: "elm.indicator";
-            color: 0 0 0 64;
+            color_class: "/dim/normal/slider/indicator";
             visible: 0;
             offscale;
          }
@@ -1248,7 +1189,7 @@ group { name: "elm/slider/vertical/indicator/default";
             rel2.to: "base";
             rel2.relative: 1.1 1.0;
             rel2.offset: 11 -1;
-            color: 255 255 255 255;
+            color_class: "/fg/normal/slider/indicator";
             text { font: FNBD; size: 10;
                min: 1 1;
                align: 0.0 0.5;
@@ -1265,51 +1206,42 @@ group { name: "elm/slider/vertical/indicator/default";
       }
    }
    programs {
-      program {
-         signal: "elm,popup,show"; source: "elm";
+      program { signal: "elm,popup,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,popup,hide"; source: "elm";
+      program { signal: "elm,popup,hide"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,popup,hide"; source: "elm";
+      program { signal: "elm,popup,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide,done" "elm";
       }
-      program {
-         signal: "elm,state,val,show"; source: "elm";
+      program { signal: "elm,state,val,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target: "clip";
       }
-      program {
-         signal: "elm,state,val,hide"; source: "elm";
+      program { signal: "elm,state,val,hide"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target: "clip";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  STATE_SET "visible" 0.0;
          target:  "elm.indicator";
          target:  "bevel";
       }
-      program {
-         signal:  "elm,state,disabled"; source: "elm";
+      program { signal:  "elm,state,disabled"; source: "elm";
          action:  STATE_SET "disabled" 0.0;
          target:  "base";
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          action:  STATE_SET "default" 0.0;
          target:  "base";
       }
@@ -1450,21 +1382,20 @@ group { name: "elm/slider/range/horizontal/default";
       part { name: "base"; type: RECT; mouse_events: 0;
          scale: 1;
          description { state: "default" 0.0;
-            rel1.to: "elm.swallow.bar";
-            rel2.to: "elm.swallow.bar";
-            color: 48 48 48 255;
+            rel.to: "elm.swallow.bar";
+            color_class: "/bg/normal/slider/base";
             min: 8 4;
             max: 99999 4;
             fixed: 0 1;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 56 56 56 255;
+            color_class: "/bg/disabled/slider/base";
          }
       }
       part { name: "glow"; type: RECT; mouse_events: 0;
          description { state: "default" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.to: "base";
             rel2.relative: 0.5 1.0;
             rel2.to_x: "button";
@@ -1472,10 +1403,10 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "inverted" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.5 0.0;
             rel1.to_x: "button";
             rel1.to_y: "base";
@@ -1483,10 +1414,10 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled_inverted" 0.0;
             inherit: "inverted" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "range" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.5 0.0;
             rel2.relative: 0.5 1.0;
             rel1.to_x: "button";
@@ -1496,10 +1427,10 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled_range" 0.0;
             inherit: "range" 0.0;
-             color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "range_reverse" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.5 0.0;
             rel2.relative: 0.5 1.0;
             rel1.to_x: "button2";
@@ -1509,7 +1440,7 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled_range_reverse" 0.0;
             inherit: "range_reverse" 0.0;
-             color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
       }
       part { name: "dis_clip"; type: RECT;
@@ -1519,7 +1450,7 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.swallow.icon"; type: SWALLOW;
@@ -1554,7 +1485,7 @@ group { name: "elm/slider/range/horizontal/default";
             rel2.to_x: "elm.swallow.icon";
             rel2.relative: 1.0 1.0;
             rel2.offset: -1 -5;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text";
             text { font: FN; size: 10;
                text_class: "slider";
                min: 0 0;
@@ -1575,7 +1506,7 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text";
          }
       }
       part { name: "elm.swallow.end"; type: SWALLOW;
@@ -1629,7 +1560,7 @@ group { name: "elm/slider/range/horizontal/default";
             visible: 1;
             rel1.offset: -5 4;
             rel2.offset: -5 -5;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.units"; type: TEXT; mouse_events: 0;
@@ -1639,7 +1570,7 @@ group { name: "elm/slider/range/horizontal/default";
             fixed: 1 1;
             rel1.to_x: "limits";
             rel2.to_x: "limits";
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text/units";
             text { font: FN; size: 10;
                text_class: "slider";
                align: 1.0 0.5;
@@ -1653,15 +1584,14 @@ group { name: "elm/slider/range/horizontal/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text/units";
          }
       }
       part { name: "button"; type: GROUP; mouse_events: 0;
          source: "elm/slider/horizontal/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -1674,7 +1604,7 @@ group { name: "elm/slider/range/horizontal/default";
          dragable.y: 0 0 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -1688,20 +1618,19 @@ group { name: "elm/slider/range/horizontal/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent"; type: RECT; repeat_events: 1;
@@ -1710,15 +1639,13 @@ group { name: "elm/slider/range/horizontal/default";
          dragable.events: "elm.dragable.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0;
          description { state: "default" 0.0;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
       }
       part { name: "button2"; type: GROUP; mouse_events: 0;
@@ -1726,8 +1653,7 @@ group { name: "elm/slider/range/horizontal/default";
          source: "elm/slider/horizontal/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
+            rel.to: "elm.dragable2.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -1741,7 +1667,7 @@ group { name: "elm/slider/range/horizontal/default";
          dragable.y: 0 0 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -1761,15 +1687,15 @@ group { name: "elm/slider/range/horizontal/default";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent2"; type: RECT; repeat_events: 1;
@@ -1779,9 +1705,8 @@ group { name: "elm/slider/range/horizontal/default";
          dragable.events: "elm.dragable2.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable2.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track2.slider"; type: SWALLOW; mouse_events: 0;
@@ -1804,7 +1729,7 @@ group { name: "elm/slider/range/horizontal/default";
       }
       part { name: "event"; type: RECT;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             visible: 0;
          }
          description { state: "disabled" 0.0;
@@ -1839,38 +1764,31 @@ group { name: "elm/slider/range/horizontal/default";
             if (r) update_glow(m);
          }
       }
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable2.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable2.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob2";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable2.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable2.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob2";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent";
+      program { signal: "mouse,down,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
@@ -1878,8 +1796,7 @@ group { name: "elm/slider/range/horizontal/default";
          action:  STATE_SET "hidden" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent";
+      program { signal: "mouse,up,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
@@ -1887,18 +1804,15 @@ group { name: "elm/slider/range/horizontal/default";
          action:  STATE_SET "default" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent2";
+      program { signal: "mouse,down,1"; source: "slideevent2";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent2";
+      program { signal: "mouse,up,1"; source: "slideevent2";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "elm,state,text,visible"; source: "elm";
+      program { signal: "elm,state,text,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
@@ -1906,8 +1820,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,text,hidden"; source: "elm";
+      program { signal: "elm,state,text,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
@@ -1915,8 +1828,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,icon,visible"; source: "elm";
+      program { signal: "elm,state,icon,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
@@ -1924,8 +1836,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,icon,hidden"; source: "elm";
+      program { signal: "elm,state,icon,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
@@ -1951,8 +1862,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= UNITS; set_int(slmode, m);
@@ -1960,13 +1870,11 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          action: SIGNAL_EMIT "limits,visible" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action:  STATE_SET "default" 0.0;
          script {
             new m = get_int(slmode);
@@ -1975,13 +1883,11 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action: SIGNAL_EMIT "limits,hide" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,inverted,on"; source: "elm";
+      program { signal: "elm,state,inverted,on"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= INVERT; set_int(slmode, m);
@@ -1989,8 +1895,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,inverted,off"; source: "elm";
+      program { signal: "elm,state,inverted,off"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~INVERT; set_int(slmode, m);
@@ -1998,8 +1903,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,disabled"; source: "elm";
+      program { signal: "elm,state,disabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= DISABLE; set_int(slmode, m);
@@ -2007,8 +1911,7 @@ group { name: "elm/slider/range/horizontal/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~DISABLE; set_int(slmode, m);
@@ -2158,21 +2061,20 @@ group { name: "elm/slider/range/vertical/default";
       part { name: "base"; type: RECT; mouse_events: 0;
          scale: 1;
          description { state: "default" 0.0;
-            rel1.to: "elm.swallow.bar";
-            rel2.to: "elm.swallow.bar";
-            color: 48 48 48 255;
+            rel.to: "elm.swallow.bar";
+            color_class: "/bg/normal/slider/base";
             min: 4 8;
             max: 4 99999;
             fixed: 1 0;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 56 56 56 255;
+            color_class: "/bg/disabled/slider/base";
          }
       }
       part { name: "glow"; type: RECT; mouse_events: 0;
          description { state: "default" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.to: "base";
             rel2.relative: 1.0 0.5;
             rel2.to_y: "button";
@@ -2180,10 +2082,10 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "inverted" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.0 0.5;
             rel1.to_y: "button";
             rel1.to_x: "base";
@@ -2191,10 +2093,10 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled_inverted" 0.0;
             inherit: "inverted" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "range" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.0 0.5;
             rel2.relative: 1.0 0.5;
             rel1.to_y: "button";
@@ -2204,10 +2106,10 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled_range" 0.0;
             inherit: "range" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
          description { state: "range_reverse" 0.0;
-            color: 53 153 255 255;
+            color_class: "/fg/normal/slider/bar";
             rel1.relative: 0.0 0.5;
             rel2.relative: 1.0 0.5;
             rel1.to_y: "button2";
@@ -2217,7 +2119,7 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled_range_reverse" 0.0;
             inherit: "range_reverse" 0.0;
-            color: 192 192 192 64;
+            color_class: "/fg/disabled/slider/bar";
          }
       }
       part { name: "dis_clip"; type: RECT;
@@ -2227,7 +2129,7 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.swallow.icon"; type: SWALLOW;
@@ -2264,7 +2166,7 @@ group { name: "elm/slider/range/vertical/default";
             rel2.to_y: "elm.swallow.icon";
             rel2.relative: 1.0 1.0;
             rel2.offset: -5 -1;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text";
             text { font: FN; size: 10;
                text_class: "slider";
                min: 0 0;
@@ -2284,7 +2186,7 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text";
          }
       }
       part { name: "elm.swallow.end"; type: SWALLOW;
@@ -2342,7 +2244,7 @@ group { name: "elm/slider/range/vertical/default";
             max: 9999 9999;
             rel1.offset: 4 -5;
             rel2.offset: -5 -5;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "elm.units"; type: TEXT; mouse_events: 0;
@@ -2352,7 +2254,7 @@ group { name: "elm/slider/range/vertical/default";
             fixed: 1 1;
             rel1.to_y: "limits";
             rel2.to_y: "limits";
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/text/units";
             text { font: FN; size: 10;
                text_class: "slider";
                align: 0.5 1.0;
@@ -2366,15 +2268,14 @@ group { name: "elm/slider/range/vertical/default";
          }
          description { state: "disabled_visible" 0.0;
             inherit: "visible" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/text/units";
          }
       }
       part { name: "button"; type: GROUP; mouse_events: 0;
          source: "elm/slider/vertical/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -2387,7 +2288,7 @@ group { name: "elm/slider/range/vertical/default";
          dragable.y: 1 1 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -2401,20 +2302,19 @@ group { name: "elm/slider/range/vertical/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent"; type: RECT; repeat_events: 1;
@@ -2423,24 +2323,21 @@ group { name: "elm/slider/range/vertical/default";
          dragable.events: "elm.dragable.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0;
          description { state: "default" 0.0;
             max: 0 0;
-            rel1.to: "elm.dragable.slider";
-            rel2.to: "elm.dragable.slider";
+            rel.to: "elm.dragable.slider";
          }
       }
       part { name: "button2"; type: GROUP; mouse_events: 0;
          source: "elm/slider/vertical/indicator/default";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
+            rel.to: "elm.dragable2.slider";
          }
          description { state: "hidden" 0.0;
             inherit: "default" 0.0;
@@ -2454,7 +2351,7 @@ group { name: "elm/slider/range/vertical/default";
          dragable.y: 1 1 0;
          dragable.confine: "elm.swallow.bar";
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -2469,20 +2366,19 @@ group { name: "elm/slider/range/vertical/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
+            rel.to: "elm.dragable2.slider";
             image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/slider/knob";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/slider/knob";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 96 96 96 255;
+            color_class: "/fg/disabled/slider/knob";
          }
       }
       part { name: "slideevent2"; type: RECT; repeat_events: 1;
@@ -2492,17 +2388,15 @@ group { name: "elm/slider/range/vertical/default";
          dragable.events: "elm.dragable2.slider";
          description { state: "default" 0.0;
             fixed: 1 1;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
-            color: 0 0 0 0;
+            rel.to: "elm.dragable2.slider";
+            color: 0 0 0 0; // no cc
          }
       }
       part { name: "elm.track2.slider"; type: SWALLOW; mouse_events: 0;
          clip_to: "enable2";
          description { state: "default" 0.0;
             max: 0 0;
-            rel1.to: "elm.dragable2.slider";
-            rel2.to: "elm.dragable2.slider";
+            rel.to: "elm.dragable2.slider";
          }
       }
       part { name: "enable2"; type: RECT;
@@ -2518,7 +2412,7 @@ group { name: "elm/slider/range/vertical/default";
       }
       part { name: "event"; type: RECT;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
             visible: 0;
          }
          description { state: "disabled" 0.0;
@@ -2553,38 +2447,31 @@ group { name: "elm/slider/range/vertical/default";
             if (r) update_glow(m);
          }
       }
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob";
       }
-      program {
-         signal: "mouse,down,1"; source: "elm.dragable2.slider";
+      program { signal: "mouse,down,1"; source: "elm.dragable2.slider";
          action:  STATE_SET "clicked" 0.0;
          target: "knob2";
       }
-      program {
-         signal: "mouse,up,1"; source: "elm.dragable2.slider";
+      program { signal: "mouse,up,1"; source: "elm.dragable2.slider";
          action:  STATE_SET "default" 0.0;
          target: "knob2";
       }
-      program {
-         signal: "elm,state,indicator,show"; source: "elm";
+      program { signal: "elm,state,indicator,show"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "elm,state,indicator,hide"; source: "elm";
+      program { signal: "elm,state,indicator,hide"; source: "elm";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent";
+      program { signal: "mouse,down,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
@@ -2592,8 +2479,7 @@ group { name: "elm/slider/range/vertical/default";
          action:  STATE_SET "hidden" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent";
+      program { signal: "mouse,up,1"; source: "slideevent";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
@@ -2601,18 +2487,15 @@ group { name: "elm/slider/range/vertical/default";
          action:  STATE_SET "default" 0.0;
          target: "button";
       }
-      program {
-         signal: "mouse,down,1"; source: "slideevent2";
+      program { signal: "mouse,down,1"; source: "slideevent2";
          action:  SIGNAL_EMIT "elm,popup,show" "elm";
          after: "popup_show2";
       }
-      program {
-         signal: "mouse,up,1"; source: "slideevent2";
+      program { signal: "mouse,up,1"; source: "slideevent2";
          action:  SIGNAL_EMIT "elm,popup,hide" "elm";
          after: "popup_hide2";
       }
-      program {
-         signal: "elm,state,text,visible"; source: "elm";
+      program { signal: "elm,state,text,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
@@ -2620,8 +2503,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,text,hidden"; source: "elm";
+      program { signal: "elm,state,text,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
@@ -2629,8 +2511,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,icon,visible"; source: "elm";
+      program { signal: "elm,state,icon,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
@@ -2638,8 +2519,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,icon,hidden"; source: "elm";
+      program { signal: "elm,state,icon,hidden"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
@@ -2665,8 +2545,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= UNITS; set_int(slmode, m);
@@ -2674,13 +2553,11 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,visible"; source: "elm";
+      program { signal: "elm,state,units,visible"; source: "elm";
          action: SIGNAL_EMIT "limits,visible" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action:  STATE_SET "default" 0.0;
          script {
             new m = get_int(slmode);
@@ -2689,13 +2566,11 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,units,hidden"; source: "elm";
+      program { signal: "elm,state,units,hidden"; source: "elm";
          action: SIGNAL_EMIT "limits,hide" "elm";
          target: "limits";
       }
-      program {
-         signal: "elm,state,inverted,on"; source: "elm";
+      program { signal: "elm,state,inverted,on"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= INVERT; set_int(slmode, m);
@@ -2703,8 +2578,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,inverted,off"; source: "elm";
+      program { signal: "elm,state,inverted,off"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~INVERT; set_int(slmode, m);
@@ -2712,8 +2586,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,disabled"; source: "elm";
+      program { signal: "elm,state,disabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m |= DISABLE; set_int(slmode, m);
@@ -2721,8 +2594,7 @@ group { name: "elm/slider/range/vertical/default";
             update_glow(m);
          }
       }
-      program {
-         signal: "elm,state,enabled"; source: "elm";
+      program { signal: "elm,state,enabled"; source: "elm";
          script {
             new m = get_int(slmode);
             m &= ~DISABLE; set_int(slmode, m);
diff --git a/data/elementary/themes/edc/elm/thumb.edc 
b/data/elementary/themes/edc/elm/thumb.edc
index f35865fd6d..0c2345b471 100644
--- a/data/elementary/themes/edc/elm/thumb.edc
+++ b/data/elementary/themes/edc/elm/thumb.edc
@@ -6,12 +6,13 @@ group { name: "elm/thumb/base/default";
          description { state: "default" 0.0;
             rel.to: "bg";
             WIN_SHADOW_SMALL;
+            color_class: "/shadow/normal/thumb";
          }
       }
       part { name: "bg"; type: RECT;
          description { state: "default" 0.0;
             rel.to: "elm.swallow.content";
-            color: 64 64 64 255;
+            color_class: "/bg/normal/thumb";
          }
       }
       part { name: "clip"; type: RECT;
@@ -31,18 +32,18 @@ group { name: "elm/thumb/base/default";
       part { name: "busy_clip"; type: RECT;
          description { state: "default" 0.0;
             visible: 0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
          }
          description { state: "active" 0.0;
             visible: 1;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
          }
       }
       part { name: "busy"; type: RECT; mouse_events: 0;
          clip_to: "busy_clip";
          description { state: "default" 0.0;
             rel.to: "bg";
-            color: 51 153 255 255;
+            color_class: "/fg/selected/thumb/bar";
             fixed: 1 1;
             min: 10 5;
             max: 10 5;
diff --git a/data/elementary/themes/edc/elm/toolbar.edc 
b/data/elementary/themes/edc/elm/toolbar.edc
index 88907d4215..f74993501f 100644
--- a/data/elementary/themes/edc/elm/toolbar.edc
+++ b/data/elementary/themes/edc/elm/toolbar.edc
@@ -3,13 +3,12 @@ group { name: "elm/toolbar/base/default";
    parts {
       part { name: "base"; type: RECT;
          description { state: "default" 0.0;
-            color: 64 64 64 255;
+            color_class: "/bg/normal/toolbar";
          }
       }
       part { name: "clipper"; type: RECT;
          description { state: "default" 0.0;
-            rel1.to: "base";
-            rel2.to: "base";
+            rel.to: "base";
          }
       }
       part { name: "elm.swallow.content"; type: SWALLOW;
@@ -33,12 +32,12 @@ group { name: "elm/toolbar/base/default";
             fixed: 1 1;
             rel.to: "base";
             align: 0.0 0.5;
-            color: 0 0 0 128;
+            color_class: "/dim/normal/toolbar/arrow";
             FIXED_SIZE(23, 23)
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 192;
+            color_class: "/dim/pressed/toolbar/arrow";
          }
       }
       part { name: "arrow_l"; mouse_events: 0;
@@ -49,11 +48,11 @@ group { name: "elm/toolbar/base/default";
             rel.to: "arrow_l_ev";
             image.normal: "i-arrow-l";
             FIXED_SIZE(15, 15)
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/arrow";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/toolbar/arrow";
          }
       }
 
@@ -73,12 +72,12 @@ group { name: "elm/toolbar/base/default";
             fixed: 1 1;
             rel.to: "base";
             align: 1.0 0.5;
-            color: 0 0 0 128;
+            color_class: "/dim/normal/toolbar/arrow";
             FIXED_SIZE(23, 23)
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 192;
+            color_class: "/dim/pressed/toolbar/arrow";
          }
       }
       part { name: "arrow_r"; mouse_events: 0;
@@ -89,11 +88,11 @@ group { name: "elm/toolbar/base/default";
             rel.to: "arrow_r_ev";
             image.normal: "i-arrow-r";
             FIXED_SIZE(15, 15)
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/arrow";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/toolbar/arrow";
          }
       }
 
@@ -113,12 +112,12 @@ group { name: "elm/toolbar/base/default";
             fixed: 1 1;
             rel.to: "base";
             align: 0.5 0.0;
-            color: 0 0 0 128;
+            color_class: "/dim/normal/toolbar/arrow";
             FIXED_SIZE(23, 23)
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 192;
+            color_class: "/dim/pressed/toolbar/arrow";
          }
       }
       part { name: "arrow_u"; mouse_events: 0;
@@ -129,14 +128,14 @@ group { name: "elm/toolbar/base/default";
             rel.to: "arrow_u_ev";
             image.normal: "i-arrow-u";
             FIXED_SIZE(15, 15)
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/arrow";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/toolbar/arrow";
          }
       }
-      
+
       part { name: "arrow_clipper_d"; type: RECT;
          description { state: "default" 0.0;
             visible: 0;
@@ -153,12 +152,12 @@ group { name: "elm/toolbar/base/default";
             fixed: 1 1;
             rel.to: "base";
             align: 0.5 1.0;
-            color: 0 0 0 128;
+            color_class: "/dim/normal/toolbar/arrow";
             FIXED_SIZE(23, 23)
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 192;
+            color_class: "/dim/pressed/toolbar/arrow";
          }
       }
       part { name: "arrow_d"; mouse_events: 0;
@@ -169,11 +168,11 @@ group { name: "elm/toolbar/base/default";
             rel.to: "arrow_d_ev";
             image.normal: "i-arrow-d";
             FIXED_SIZE(15, 15)
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/arrow";
          }
          description { state: "clicked" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/pressed/toolbar/arrow";
          }
       }
    }
@@ -184,18 +183,15 @@ group { name: "elm/toolbar/base/default";
 //      program {
 //         signal: "elm,orient,vertical"; source: "elm";
 //      }
-      program {
-         signal: "elm,action,show,left"; source: "elm";
+      program { signal: "elm,action,show,left"; source: "elm";
          action: STATE_SET "visible" 0.0;
          target: "arrow_clipper_l";
       }
-      program {
-         signal: "elm,action,hide,left"; source: "elm";
+      program { signal: "elm,action,hide,left"; source: "elm";
          action: STATE_SET "default" 0.0;
          target: "arrow_clipper_l";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_l_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_l_ev";
          action: SIGNAL_EMIT "elm,action,left" "elm";
          after: "arrow_l_repeat";
       }
@@ -204,34 +200,28 @@ group { name: "elm/toolbar/base/default";
          in: 0.3 0.0;
          after: "arrow_l_repeat";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_l_ev";
+      program { signal: "mouse,up,1"; source: "arrow_l_ev";
          action: ACTION_STOP;
          target: "arrow_l_repeat";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_l_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_l_ev";
          action: STATE_SET "clicked" 0.0;
          target: "arrow_l";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_l_ev";
+      program { signal: "mouse,up,1"; source: "arrow_l_ev";
          action: STATE_SET "default" 0.0;
          target: "arrow_l";
       }
-      
-      program {
-         signal: "elm,action,show,right"; source: "elm";
+
+      program { signal: "elm,action,show,right"; source: "elm";
          action: STATE_SET "visible" 0.0;
          target: "arrow_clipper_r";
       }
-      program {
-         signal: "elm,action,hide,right"; source: "elm";
+      program { signal: "elm,action,hide,right"; source: "elm";
          action: STATE_SET "default" 0.0;
          target: "arrow_clipper_r";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_r_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_r_ev";
          action: SIGNAL_EMIT "elm,action,right" "elm";
          after: "arrow_r_repeat";
       }
@@ -240,34 +230,28 @@ group { name: "elm/toolbar/base/default";
          in: 0.3 0.0;
          after: "arrow_r_repeat";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_r_ev";
+      program { signal: "mouse,up,1"; source: "arrow_r_ev";
          action: ACTION_STOP;
          target: "arrow_r_repeat";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_r_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_r_ev";
          action: STATE_SET "clicked" 0.0;
          target: "arrow_r";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_r_ev";
+      program { signal: "mouse,up,1"; source: "arrow_r_ev";
          action: STATE_SET "default" 0.0;
          target: "arrow_r";
       }
-      
-      program {
-         signal: "elm,action,show,up"; source: "elm";
+
+      program { signal: "elm,action,show,up"; source: "elm";
          action: STATE_SET "visible" 0.0;
          target: "arrow_clipper_u";
       }
-      program {
-         signal: "elm,action,hide,up"; source: "elm";
+      program { signal: "elm,action,hide,up"; source: "elm";
          action: STATE_SET "default" 0.0;
          target: "arrow_clipper_u";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_u_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_u_ev";
          action: SIGNAL_EMIT "elm,action,up" "elm";
          after: "arrow_u_repeat";
       }
@@ -276,34 +260,28 @@ group { name: "elm/toolbar/base/default";
          in: 0.3 0.0;
          after: "arrow_u_repeat";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_u_ev";
+      program { signal: "mouse,up,1"; source: "arrow_u_ev";
          action: ACTION_STOP;
          target: "arrow_u_repeat";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_u_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_u_ev";
          action: STATE_SET "clicked" 0.0;
          target: "arrow_u";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_u_ev";
+      program { signal: "mouse,up,1"; source: "arrow_u_ev";
          action: STATE_SET "default" 0.0;
          target: "arrow_u";
       }
-      
-      program {
-         signal: "elm,action,show,down"; source: "elm";
+
+      program { signal: "elm,action,show,down"; source: "elm";
          action: STATE_SET "visible" 0.0;
          target: "arrow_clipper_d";
       }
-      program {
-         signal: "elm,action,hide,down"; source: "elm";
+      program { signal: "elm,action,hide,down"; source: "elm";
          action: STATE_SET "default" 0.0;
          target: "arrow_clipper_d";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_d_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_d_ev";
          action: SIGNAL_EMIT "elm,action,down" "elm";
          after: "arrow_d_repeat";
       }
@@ -312,18 +290,15 @@ group { name: "elm/toolbar/base/default";
          in: 0.3 0.0;
          after: "arrow_d_repeat";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_d_ev";
+      program { signal: "mouse,up,1"; source: "arrow_d_ev";
          action: ACTION_STOP;
          target: "arrow_d_repeat";
       }
-      program {
-         signal: "mouse,down,1*"; source: "arrow_d_ev";
+      program { signal: "mouse,down,1*"; source: "arrow_d_ev";
          action: STATE_SET "clicked" 0.0;
          target: "arrow_d";
       }
-      program {
-         signal: "mouse,up,1"; source: "arrow_d_ev";
+      program { signal: "mouse,up,1"; source: "arrow_d_ev";
          action: STATE_SET "default" 0.0;
          target: "arrow_d";
       }
@@ -346,11 +321,13 @@ group { name: "elm/toolbar/item/default";
                set_state(PART:"elm.swallow.icon_new", "default", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "default", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "default", 0.0);
                set_state(PART:"elm.swallow.icon_new", "default", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else if (m1 == (ICON)) {
             if (!d) {
@@ -358,11 +335,13 @@ group { name: "elm/toolbar/item/default";
                set_state(PART:"elm.swallow.icon_new", "icononly", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "icononly", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "icononly", 0.0);
                set_state(PART:"elm.swallow.icon_new", "icononly", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "icononly", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else if (m1 == (LABEL)) {
             if (!d) {
@@ -370,11 +349,13 @@ group { name: "elm/toolbar/item/default";
                set_state(PART:"elm.swallow.icon_new", "noicon", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "noicon", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"elm.swallow.icon_new", "noicon", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "noicon_disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else {
             if (!d) {
@@ -382,11 +363,13 @@ group { name: "elm/toolbar/item/default";
                set_state(PART:"elm.swallow.icon_new", "noicon", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "noicon", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"elm.swallow.icon_new", "noicon", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "noicon_disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          }
       }
@@ -394,33 +377,35 @@ group { name: "elm/toolbar/item/default";
    parts {
       part { name: "base"; type: RECT;
          description { state: "default" 0.0;
-            color: 80 80 80 0;
+            color_class: "/bg/normal/toolbar/base";
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/bg/selected/toolbar/base";
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
-      
+
       part { name: "icon_clip"; type: RECT;
          description { state: "default" 0.0;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "icon_clip1"; type: RECT;
          clip_to: "icon_clip";
          description { state: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
       }
@@ -458,12 +443,12 @@ group { name: "elm/toolbar/item/default";
       part { name: "icon_clip2"; type: RECT;
          clip_to: "icon_clip";
          description { state: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
@@ -497,15 +482,15 @@ group { name: "elm/toolbar/item/default";
             min: ICMIN ICMIN;
          }
       }
-      
+
       part { name: "text_clip1"; type: RECT;
          description { state: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
       }
@@ -517,7 +502,7 @@ group { name: "elm/toolbar/item/default";
             rel1.relative: 0.0 1.0;
             rel2.offset: -5 -5;
             align: 0.5 1.0;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/text";
             offscale;
             text { font: FN; size: 10;
                min: 1 1;
@@ -529,12 +514,12 @@ group { name: "elm/toolbar/item/default";
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/selected/toolbar/text";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
-        }
+            color_class: "/fg/disabled/toolbar/text";
+         }
          description { state: "noicon" 0.0;
             inherit: "default" 0.0;
             rel1.offset: 4 -5;
@@ -542,7 +527,7 @@ group { name: "elm/toolbar/item/default";
          }
          description { state: "noicon_disabled" 0.0;
             inherit: "noicon" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "icononly" 0.0;
             inherit: "default" 0.0;
@@ -553,12 +538,12 @@ group { name: "elm/toolbar/item/default";
       }
       part { name: "text_clip2"; type: RECT;
          description { state: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
@@ -570,7 +555,7 @@ group { name: "elm/toolbar/item/default";
             rel1.relative: 0.0 1.0;
             rel2.offset: -5 -5;
             align: 0.5 1.0;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/text";
             offscale;
             text { font: FN; size: 10;
                min: 1 1;
@@ -582,11 +567,11 @@ group { name: "elm/toolbar/item/default";
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/selected/toolbar/text";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "noicon" 0.0;
             inherit: "default" 0.0;
@@ -595,7 +580,7 @@ group { name: "elm/toolbar/item/default";
          }
          description { state: "noicon_disabled" 0.0;
             inherit: "noicon" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "icononly" 0.0;
             inherit: "default" 0.0;
@@ -609,13 +594,12 @@ group { name: "elm/toolbar/item/default";
          scale: 1;
          description { state: "default" 0.0;
             fixed: 0 1;
+            rel.to: "base";
             rel1.offset: 0 -1;
             rel1.relative: 0.0 1.0;
-            rel1.to: "base";
             rel2.offset: -1 -1;
-            rel2.to: "base";
             align: 0.5 1.0;
-            color: 51 153 255 255;
+            color_class: "/bg/selected/toolbar/bar";
             visible: 0;
             min: 0 0;
             max: 99999 0;
@@ -631,7 +615,11 @@ group { name: "elm/toolbar/item/default";
       part { name: "event"; type: RECT;
          ignore_flags: ON_HOLD;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
          }
       }
    }
@@ -654,8 +642,19 @@ group { name: "elm/toolbar/item/default";
          target: "base";
          target: "bar";
       }
-      program {
-         signal: "elm,state,unselected"; source: "elm";
+      program { signal: "elm,state,unselected"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.text";
+         target: "base";
+         target: "bar";
+      }
+      program { signal: "mouse,down,1"; source: "event";
+         action: STATE_SET "selected" 0.0;
+         target: "elm.text";
+         target: "base";
+         target: "bar";
+      }
+      program { signal: "mouse,up,1"; source: "event";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
          target: "base";
@@ -797,40 +796,48 @@ group { name: "elm/toolbar/item/item_horizontal";
                set_state(PART:"elm.swallow.icon", "default", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "default", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "default", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else if (m1 == (ICON)) {
             if (!d) {
                set_state(PART:"elm.swallow.icon", "icononly", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "icononly", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "icononly", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "icononly", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else if (m1 == (LABEL)) {
             if (!d) {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "noicon", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "noicon_disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          } else {
             if (!d) {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"icon_clip", "default", 0.0);
                set_state(PART:"elm.text", "noicon", 0.0);
+               set_state(PART:"event", "default", 0.0);
             } else {
                set_state(PART:"elm.swallow.icon", "noicon", 0.0);
                set_state(PART:"icon_clip", "disabled", 0.0);
                set_state(PART:"elm.text", "noicon_disabled", 0.0);
+               set_state(PART:"event", "disabled", 0.0);
             }
          }
       }
@@ -838,33 +845,35 @@ group { name: "elm/toolbar/item/item_horizontal";
    parts {
       part { name: "base"; type: RECT;
          description { state: "default" 0.0;
-            color: 80 80 80 0;
+            color_class: "/bg/normal/toolbar/base";
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/bg/selected/toolbar/base";
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
-      
+
       part { name: "icon_clip"; type: RECT;
          description { state: "default" 0.0;
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 64;
+            color: 255 255 255 64; // no cc
          }
       }
       part { name: "icon_clip1"; type: RECT;
          clip_to: "icon_clip";
          description { state: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
       }
@@ -900,12 +909,12 @@ group { name: "elm/toolbar/item/item_horizontal";
       part { name: "icon_clip2"; type: RECT;
          clip_to: "icon_clip";
          description { state: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
@@ -940,12 +949,12 @@ group { name: "elm/toolbar/item/item_horizontal";
 
       part { name: "text_clip1"; type: RECT;
          description { state: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
       }
@@ -958,7 +967,7 @@ group { name: "elm/toolbar/item/item_horizontal";
             rel1.relative: 1.0 0.0;
             rel2.offset: -5 -5;
             align: 0.0 0.5;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/text";
             offscale;
             text { font: FN; size: 10;
                min: 1 1;
@@ -969,18 +978,18 @@ group { name: "elm/toolbar/item/item_horizontal";
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/selected/toolbar/text";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "noicon" 0.0;
             inherit: "default" 0.0;
          }
          description { state: "noicon_disabled" 0.0;
             inherit: "noicon" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "icononly" 0.0;
             inherit: "default" 0.0;
@@ -994,12 +1003,12 @@ group { name: "elm/toolbar/item/item_horizontal";
       }
       part { name: "text_clip2"; type: RECT;
          description { state: "default" 0.0;
-            color: 255 255 255 0;
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "animation" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
@@ -1011,7 +1020,7 @@ group { name: "elm/toolbar/item/item_horizontal";
             rel1.relative: 1.0 0.0;
             rel2.offset: -5 -5;
             align: 0.0 0.5;
-            color: 160 160 160 255;
+            color_class: "/fg/normal/toolbar/text";
             offscale;
             text { font: FN; size: 10;
                min: 1 1;
@@ -1023,11 +1032,11 @@ group { name: "elm/toolbar/item/item_horizontal";
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 255 255 255 255;
+            color_class: "/fg/selected/toolbar/text";
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "noicon" 0.0;
             inherit: "default" 0.0;
@@ -1039,7 +1048,7 @@ group { name: "elm/toolbar/item/item_horizontal";
          }
          description { state: "noicon_disabled" 0.0;
             inherit: "noicon" 0.0;
-            color: 80 80 80 255;
+            color_class: "/fg/disabled/toolbar/text";
          }
          description { state: "icononly" 0.0;
             inherit: "default" 0.0;
@@ -1061,7 +1070,7 @@ group { name: "elm/toolbar/item/item_horizontal";
             rel1.relative: 0.0 1.0;
             rel2.offset: -1 -1;
             align: 0.5 1.0;
-            color: 51 153 255 255;
+            color_class: "/bg/selected/toolbar/bar";
             visible: 0;
             min: 0 0;
             max: 99999 0;
@@ -1077,7 +1086,11 @@ group { name: "elm/toolbar/item/item_horizontal";
       part { name: "event"; type: RECT;
          ignore_flags: ON_HOLD;
          description { state: "default" 0.0;
-            color: 0 0 0 0;
+            color: 0 0 0 0; // no cc
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
          }
       }
    }
@@ -1107,6 +1120,18 @@ group { name: "elm/toolbar/item/item_horizontal";
          target: "base";
          target: "bar";
       }
+      program { signal: "mouse,down,1"; source: "event";
+         action: STATE_SET "selected" 0.0;
+         target: "elm.text";
+         target: "base";
+         target: "bar";
+      }
+      program { signal: "mouse,up,1"; source: "event";
+         action: STATE_SET "default" 0.0;
+         target: "elm.text";
+         target: "base";
+         target: "bar";
+      }
       program { signal: "mouse,up,1"; source: "event";
          action: SIGNAL_EMIT "elm,action,click" "elm";
       }
@@ -1180,8 +1205,7 @@ group { name: "elm/toolbar/item/item_horizontal";
       program { signal: "elm,state,icon_set,forward"; source: "elm";
          after: "icon_set,animation";
       }
-      program {
-         signal: "elm,state,icon_set,backward"; source: "elm";
+      program { signal: "elm,state,icon_set,backward"; source: "elm";
          after: "icon_set,animation";
       }
       program { name: "icon_set,animation";
@@ -1238,7 +1262,7 @@ group { name: "elm/toolbar/separator/default";
             max: 1 99999;
             rel1.offset: 4 4;
             rel2.offset: -5 -5;
-            color: 72 72 72 255;
+            color_class: "/fg/selected/toolbar/separator";
             offscale;
          }
          description { state: "vert" 0.0;
@@ -1264,12 +1288,14 @@ group { name: "elm/toolbar/object/default";
    parts {
       part { name: "base"; type: RECT;
          description { state: "default" 0.0;
-            color: 80 80 80 0;
+            color_class: "/bg/normal/toolbar/base";
+            color: 255 255 255 0; // no cc
             visible: 0;
          }
          description { state: "selected" 0.0;
             inherit: "default" 0.0;
-            color: 80 80 80 255;
+            color_class: "/bg/selected/toolbar/base";
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
@@ -1305,23 +1331,24 @@ group { name: "elm/toolbar/more/default";
             rel.to: "base";
             rel1.offset: -1000 -1000;
             rel2.offset: 1000 1000;
-            color: 0 0 0 0;
+            color: 255 255 255 0; // no cc
+            color_class: "/shadow/normal/button";
             visible: 0;
          }
          description { state: "open" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
          description { state: "open2" 0.0;
             inherit: "default" 0.0;
-            color: 0 0 0 255;
+            color: 255 255 255 255; // no cc
             visible: 1;
          }
       }
       part { name: "base"; type: RECT;
          description { state: "default" 0.0;
-            color: 64 64 64 255;
+            color_class: "/bg/normal/toolbar/more";
             rel2.relative: 1.0 0.0;
             fixed: 1 1;
             visible: 0;
@@ -1388,8 +1415,7 @@ group { name: "elm/toolbar/more/default";
       }
    }
   programs {
-     program {
-        signal: "elm,state,open"; source: "elm";
+     program { signal: "elm,state,open"; source: "elm";
         action: STATE_SET "open" 0.0;
         target: "shadow";
         target: "base";
@@ -1397,8 +1423,7 @@ group { name: "elm/toolbar/more/default";
         target: "clipper2";
         transition: DECELERATE 0.2;
      }
-     program {
-        signal: "elm,state,open2"; source: "elm";
+     program { signal: "elm,state,open2"; source: "elm";
         action: STATE_SET "open2" 0.0;
         target: "shadow";
         target: "base";
@@ -1406,8 +1431,7 @@ group { name: "elm/toolbar/more/default";
         target: "clipper2";
         transition: DECELERATE 0.2;
      }
-     program {
-        signal: "elm,state,close"; source: "elm";
+     program { signal: "elm,state,close"; source: "elm";
         action: STATE_SET "default" 0.0;
         target: "shadow";
         target: "base";
diff --git a/data/elementary/themes/edc/slider.edc 
b/data/elementary/themes/edc/slider.edc
index c1ebe764ec..ca4bed2840 100644
--- a/data/elementary/themes/edc/slider.edc
+++ b/data/elementary/themes/edc/slider.edc
@@ -1,5 +1,4 @@
 group { name: "e/widgets/slider_horizontal";
-   images.image: "speaker_vol.png" COMP;
    parts {
       part { name: "bg"; type: RECT;
          scale: 1;
@@ -111,7 +110,7 @@ group { name: "e/widgets/slider_horizontal";
             rel1.offset: -1 -1;
             rel2.offset: 0 0;
             color_class: "/fg/normal/slider/knob";
-            image.normal: "speaker_vol.png";
+            image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
             fixed: 1 1;
@@ -201,7 +200,6 @@ group { name: "e/widgets/slider_horizontal";
 }
 
 group { name: "e/widgets/slider_vertical";
-   images.image: "speaker_vol.png" COMP;
    parts {
       part { name: "bg"; type: RECT;
          scale: 1;
@@ -315,7 +313,7 @@ group { name: "e/widgets/slider_vertical";
             rel2.offset: 0 0;
             rel2.to: "e.dragable.slider";
             color_class: "/fg/normal/slider/knob";
-            image.normal: "speaker_vol.png";
+            image.normal: "i-radio";
             min: 16 16;
             max: 16 16;
             fixed: 1 1;

-- 


Reply via email to