summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2021-03-15 14:57:39 +0900
committerHermet Park <chuneon.park@samsung.com>2021-03-15 14:57:39 +0900
commitb4460591b4295cbe629ee545b29336c81b03df3b (patch)
tree68b9fa769ed88807eb021a219a2e2ed8ce4a342b
parent2eae1076047f00ca913693812b4830873cafdcc9 (diff)
parentf94c972f18c67c7d0753b5c253c169d54248a7ab (diff)
downloadefl-b4460591b4295cbe629ee545b29336c81b03df3b.tar.gz
Merge branch 'feature/themes/flat' into devs/hermet/lottie
-rw-r--r--data/elementary/themes/edc/efl/button.edc609
-rw-r--r--data/elementary/themes/edc/efl/navigation_bar.edc53
-rw-r--r--data/elementary/themes/edc/efl/navigation_layout.edc4
-rw-r--r--data/elementary/themes/edc/elm/progress.edc24
-rw-r--r--data/elementary/themes/edc/elm/radio.edc8
-rw-r--r--data/elementary/themes/edc/icons.edc8
-rw-r--r--data/elementary/themes/ic.edc6
-rw-r--r--data/elementary/themes/img/download.svg267
-rw-r--r--data/elementary/themes/img/eye.svg111
-rw-r--r--data/elementary/themes/img/heart.svg123
-rw-r--r--data/elementary/themes/img/ic/download-040.pngbin0 -> 1160 bytes
-rw-r--r--data/elementary/themes/img/ic/download-080.pngbin0 -> 2314 bytes
-rw-r--r--data/elementary/themes/img/ic/download-160.pngbin0 -> 4608 bytes
-rw-r--r--data/elementary/themes/img/ic/drive-hdd-160.pngbin5744 -> 0 bytes
-rw-r--r--data/elementary/themes/img/ic/heart-040.pngbin0 -> 1147 bytes
-rw-r--r--data/elementary/themes/img/ic/heart-080.pngbin0 -> 2164 bytes
-rw-r--r--data/elementary/themes/img/ic/heart-160.pngbin0 -> 4408 bytes
-rw-r--r--data/elementary/themes/img/ic/power-plug-040.pngbin0 -> 437 bytes
-rw-r--r--data/elementary/themes/img/ic/power-plug-080.pngbin0 -> 817 bytes
-rw-r--r--data/elementary/themes/img/ic/power-plug-160.pngbin0 -> 1551 bytes
-rw-r--r--data/elementary/themes/img/ic/tech-040.pngbin0 -> 779 bytes
-rw-r--r--data/elementary/themes/img/ic/tech-080.pngbin0 -> 1289 bytes
-rw-r--r--data/elementary/themes/img/ic/tech-160.pngbin0 -> 3126 bytes
-rw-r--r--data/elementary/themes/img/power-plug.svg152
-rw-r--r--data/elementary/themes/img/tech.svg256
25 files changed, 1182 insertions, 439 deletions
diff --git a/data/elementary/themes/edc/efl/button.edc b/data/elementary/themes/edc/efl/button.edc
index 487866545b..eb28be4135 100644
--- a/data/elementary/themes/edc/efl/button.edc
+++ b/data/elementary/themes/edc/efl/button.edc
@@ -26,145 +26,64 @@ Group: efl/button:anchor (@since 1.23)
Signal: efl,text,set
Signal: efl,text,unset
*/
-group { name: "efl/button"; data.item: "version" "123";
- images.image: "button_normal.png" COMP;
- images.image: "button_clicked.png" COMP;
-
-#undef ICON
-#define ICON 1
-#define LABEL 2
-#define MASK 3
-#define DISABLE 4
-#define PRESSED 8
+#define ICON 1
+#define LABEL 2
+#define MASK 3
+#define DISABLE 4
+#define PRESSED 8
#define BACKGROUND 16
+
+group { name: "efl/button";
+ data.item: "version" "123";
script {
- public btmode;
- public eval_mode(m) {
- new m1 = m & MASK;
- new d = m & DISABLE;
- new p = m & PRESSED;
- new bg = m & BACKGROUND;
- if (bg) {
- set_state(PART:"base", "hidden", 0.0);
- set_state(PART:"efl.background", "visible", 0.0);
- } else {
- set_state(PART:"efl.background", "default", 0.0);
- if (!d) {
- if (!p)
- {
- set_state(PART:"base", "default", 0.0);
- set_state(PART:"base", "default", 0.0);
- }
- else {
- set_state(PART:"base", "pressed", 0.0);
- }
- } else {
- set_state(PART:"base", "disabled", 0.0);
- }
+ BUTTONMODE_SCRIPT2
+ }
+ images.image: "win_shadow.png" COMP;
+ parts {
+ part { name: "shadow"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel.to: "base";
+ WIN_SHADOW_SMALL;
}
- if (m1 == (ICON | LABEL)) {
- if (!d) {
- set_state(PART:"efl.content", "visible", 0.0);
- set_state(PART:"sizer_content", "visible", 0.0);
- set_state(PART:"event", "default", 0.0);
- if (!p) {
- set_state(PART:"efl.text", "visible", 0.0);
- set_state(PART:"icon_clip", "default", 0.0);
- } else {
- set_state(PART:"efl.text", "pressed_visible", 0.0);
- set_state(PART:"icon_clip", "pressed", 0.0);
- }
- } else {
- set_state(PART:"efl.content", "visible", 0.0);
- set_state(PART:"sizer_content", "visible", 0.0);
- set_state(PART:"efl.text", "disabled_visible", 0.0);
- set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"event", "disabled", 0.0);
- }
- } else if (m1 == (ICON)) {
- if (!d) {
- set_state(PART:"efl.content", "icononly", 0.0);
- set_state(PART:"sizer_content", "icononly", 0.0);
- set_state(PART:"event", "default", 0.0);
- set_state(PART:"efl.text", "default", 0.0);
- if (!p)
- set_state(PART:"icon_clip", "default", 0.0);
- else
- set_state(PART:"icon_clip", "pressed", 0.0);
- } else {
- set_state(PART:"efl.content", "icononly", 0.0);
- set_state(PART:"sizer_content", "icononly", 0.0);
- set_state(PART:"efl.text", "default", 0.0);
- set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"event", "disabled", 0.0);
- }
- } else if (m1 == (LABEL)) {
- if (!d) {
- set_state(PART:"efl.content", "default", 0.0);
- set_state(PART:"sizer_content", "default", 0.0);
- set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"event", "default", 0.0);
- if (!p)
- set_state(PART:"efl.text", "textonly", 0.0);
- else
- set_state(PART:"efl.text", "pressed_textonly", 0.0);
- } else {
- set_state(PART:"efl.content", "default", 0.0);
- set_state(PART:"sizer_content", "default", 0.0);
- set_state(PART:"efl.text", "disabled_textonly", 0.0);
- set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"event", "disabled", 0.0);
- }
- } else {
- if (!d) {
- set_state(PART:"efl.content", "default", 0.0);
- set_state(PART:"sizer_content", "default", 0.0);
- set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"event", "default", 0.0);
- } else {
- set_state(PART:"efl.content", "default", 0.0);
- set_state(PART:"sizer_content", "default", 0.0);
- set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"event", "disabled", 0.0);
- }
+ description { state: "pressed" 0.0; inherit;
+ image.border_scale_by: 0.1;
+ rel1.offset: -2 -1;
+ rel2.offset: 0 1;
+ }
+ description { state: "disabled" 0.0; inherit;
+ image.border_scale_by: 0.1;
+ rel1.offset: -2 -1;
+ rel2.offset: 0 1;
}
}
- }
- parts {
- image { "base";
+ rect { "base";
+ scale: 1;
desc { "default";
- image.normal: "button_normal.png";
- image.border: 4 4 3 5;
- image.middle: SOLID;
- rel1.offset: -1 0;
- rel2.offset: 0 1;
- fill.smooth: 0;
- color_class: "button_bg";
+ color: 96 96 96 255;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ offscale;
}
- desc { "pressed";
- inherit: "default";
- image.normal: "button_clicked.png";
- image.border: 5 5 4 6;
- color_class: "button_bg_pressed";
+ desc { "pressed"; inherit;
+ color: 128 128 128 255;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ offscale;
}
- desc { "disabled";
- inherit: "default";
- color_class: "button_bg_disabled";
+ desc { "disabled"; inherit;
+ color: 72 72 72 255;
}
- desc { "hidden";
- inherit: "default";
+ desc { "hidden"; inherit;
visible: 0;
}
}
- swallow { "efl.background"; nomouse;
- required;
+ swallow { "efl.background"; nomouse; required;
desc { "default";
- rel1.to: "base";
- rel2.to: "base";
+ rel.to: "base";
visible: 0;
}
- desc { "visible";
- inherit: "default";
+ desc { "visible"; inherit;
visible: 1;
}
}
@@ -172,290 +91,224 @@ group { name: "efl/button"; data.item: "version" "123";
desc { "default";
color_class: "button_icon";
}
- desc { "pressed";
- inherit: "default";
+ desc { "pressed"; inherit;
color_class: "button_icon_pressed";
}
- desc { "disabled";
- inherit: "default";
+ desc { "disabled"; inherit;
color_class: "button_icon_disabled";
}
}
- swallow { "efl.content"; nomouse;
+ swallow { "efl.content"; nomouse; required;
clip_to: "icon_clip";
- required;
+ scale: 1;
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
- rel1.offset: 6 5;
- rel1.to: "base";
+ rel1.offset: 6 6;
rel2.relative: 0.0 1.0;
- rel2.offset: 6 -8;
- rel2.to: "base";
+ rel2.offset: 6 -7;
visible: 0;
+ offscale;
}
- desc { "visible";
- inherit: "default";
+ desc { "visible"; inherit;
fixed: 1 0;
aspect: 1.0 1.0;
visible: 1;
}
- desc { "icononly";
- inherit: "default";
+ desc { "icononly"; inherit;
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
- rel2.offset: -7 -8;
+ rel2.offset: -5 -5;
visible: 1;
}
}
text { "sizer_content"; nomouse;
scale: 1;
desc { "default";
-// fixed: 1 1;
+ fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
- desc { "visible";
- inherit: "default";
- rel1.to: "efl.content";
- rel2.to: "efl.content";
+ desc { "visible"; inherit;
+ rel.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
- text: "M";
+ text: SPACER_TEXT;
}
}
- desc { "icononly";
- inherit: "default";
- rel1.to: "efl.content";
- rel2.to: "efl.content";
+ desc { "icononly"; inherit;
+ fixed: 0 0;
+ rel.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
- text: "M";
+ text: SPACER_TEXT;
}
}
}
- text { "efl.text"; nomouse;
- effect: SHADOW BOTTOM;
- scale;
- required;
+ text { "efl.text"; nomouse; required;
+ scale: 1;
desc { "default";
- rel1.offset: 0 5;
+ fixed: 1 1;
+ color: 192 192 192 255;
+ rel1.offset: 0 6;
rel1.relative: 1.0 0.0;
rel1.to_x: "efl.content";
- rel1.to_y: "base";
- rel2.offset: -8 -8;
- rel2.to: "base";
- color_class: "button_text";
- color3: 255 255 255 255;
+ rel2.offset: -7 -7;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
- text_class: "button";
}
visible: 0;
- fixed: 1 1;
+ offscale;
}
- desc { "visible";
- inherit: "default";
- rel1.offset: 2 5;
+ desc { "visible"; inherit;
+ fixed: 0 0;
+ rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
}
- desc { "pressed_visible";
- inherit: "default";
- rel1.offset: 2 5;
+ desc { "pressed_visible"; inherit;
+ fixed: 0 0;
+ color: 255 255 255 255;
+ rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
- color_class: "button_text_pressed";
}
- desc { "textonly";
- inherit: "default";
+ desc { "textonly"; inherit;
+ fixed: 0 0;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
}
- desc { "pressed_textonly";
- inherit: "default";
+ desc { "pressed_textonly"; inherit;
+ fixed: 0 0;
+ color: 255 255 255 255;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
- color_class: "button_text_pressed";
}
- desc { "disabled_visible";
- inherit: "default";
- rel1.offset: 2 5;
- color_class: "button_text_disabled";
- color3: 255 255 255 255;
+ desc { "disabled_visible"; inherit;
+ fixed: 0 0;
+ color: 96 96 96 255;
+ rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
}
- desc { "disabled_textonly";
- inherit: "default";
- color_class: "button_text_disabled";
- color3: 255 255 255 255;
+ desc { "disabled_textonly"; inherit;
+ fixed: 0 0;
+ color: 96 96 96 255;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
- fixed: 0 0;
}
}
rect { "event";
+ ignore_flags: ON_HOLD;
desc { "default";
color: 0 0 0 0;
}
- desc { "disabled";
- inherit: "default";
+ desc { "disabled"; inherit;
visible: 0;
}
}
}
programs {
EFL_UI_CLICKABLE_PART_BIND("event")
- program {
- signal: "mouse,down,1"; source: "event";
+ program { signal: "mouse,down,1"; source: "event";
after: "button_click_anim";
}
program { name: "button_click_anim";
- script {
- new m = get_int(btmode);
- m |= PRESSED; set_int(btmode, m);
- eval_mode(m);
- }
+ script { flag_set(PRESSED); }
}
program { name: "button_unclick";
signal: "mouse,up,1"; source: "event";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
- script {
- new m = get_int(btmode);
- m &= ~PRESSED; set_int(btmode, m);
- eval_mode(m);
- }
+ script { flag_unset(PRESSED); }
}
- program { name: "buttonactivate";
- signal: "efl,state,animation,activated"; source: "efl";
+ program { signal: "efl,state,animation,activated"; source: "efl";
action: STATE_SET "pressed" 0.0;
+ target: "shadow";
target: "base";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
- action: STATE_SET "default" 0.0;
in: 0.5 0.0;
+ action: STATE_SET "default" 0.0;
+ target: "shadow";
target: "base";
}
- program { name: "button_text_visible";
- signal: "efl,text,set"; source: "efl";
- script {
- new m = get_int(btmode);
- m |= LABEL; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,text,set"; source: "efl";
+ script { flag_set(LABEL); }
}
- program { name: "button_text_hidden";
- signal: "efl,text,unset"; source: "efl";
- script {
- new m = get_int(btmode);
- m &= ~LABEL; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,text,unset"; source: "efl";
+ script { flag_unset(LABEL); }
}
- program { name: "button_icon_visible";
- signal: "efl,content,set"; source: "efl";
- script {
- new m = get_int(btmode);
- m |= ICON; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,content,set"; source: "efl";
+ script { flag_set(ICON); }
}
- program { name: "button_icon_hidden";
- signal: "efl,content,unset"; source: "efl";
- script {
- new m = get_int(btmode);
- m &= ~ICON; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,content,unset"; source: "efl";
+ script { flag_unset(ICON); }
}
- program { name: "button_background_visible";
- signal: "efl,state,background,set"; source: "efl";
- script {
- new m = get_int(btmode);
- m |= BACKGROUND; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,state,background,set"; source: "efl";
+ script { flag_set(BACKGROUND); }
}
- program { name: "button_background_hidden";
- signal: "efl,state,background,unset"; source: "efl";
- script {
- new m = get_int(btmode);
- m &= ~BACKGROUND; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,state,background,unset"; source: "efl";
+ script { flag_unset(BACKGROUND); }
}
- program { name: "button_state_disabled";
- signal: "efl,state,disabled"; source: "efl";
- script {
- new m = get_int(btmode);
- m |= DISABLE; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,state,disabled"; source: "efl";
+ script { flag_set(DISABLE); }
}
- program { name: "button_state_enabled";
- signal: "efl,state,enabled"; source: "efl";
- script {
- new m = get_int(btmode);
- m &= ~DISABLE; set_int(btmode, m);
- eval_mode(m);
- }
+ program { signal: "efl,state,enabled"; source: "efl";
+ script { flag_unset(DISABLE); }
}
}
-#undef ICON
-#undef LABEL
-#undef MASK
-#undef DISABLE
-#undef PRESSED
-#undef BACKGROUND
}
-group { name: "efl/button:anchor"; data.item: "version" "123";
- images.image: "horizontal_separated_bar_small_glow.png" COMP;
-#define ICON 1
-#define LABEL 2
-#define MASK 3
-#define DISABLE 4
+group { name: "efl/button:anchor";
+ data.item: "version" "123";
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
+ new p = m & PRESSED;
+ if (!d) {
+ if (!p) {
+ set_state(PART:"bar", "default", 0.0);
+ }
+ else {
+ set_state(PART:"bar", "pressed", 0.0);
+ }
+ } else {
+ set_state(PART:"bar", "disabled", 0.0);
+ }
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
- set_state(PART:"efl.text", "visible", 0.0);
+ if (!p) {
+ set_state(PART:"efl.text", "visible", 0.0);
+ } else {
+ set_state(PART:"efl.text", "pressed_visible", 0.0);
+ }
set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"efl.text", "disabled_visible", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
@@ -464,30 +317,30 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"efl.text", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"efl.text", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
- set_state(PART:"efl.text", "textonly", 0.0);
+ if (!p) {
+ set_state(PART:"efl.text", "textonly", 0.0);
+ } else {
+ set_state(PART:"efl.text", "pressed_textonly", 0.0);
+ }
set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"efl.text", "disabled_textonly", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
@@ -495,13 +348,11 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
- set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
- set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
@@ -512,6 +363,15 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
desc { "default";
color: 0 0 0 0;
}
+ desc { "pressed"; inherit;
+ inherit: "default";
+ }
+ desc { "disabled"; inherit;
+ inherit: "default";
+ }
+ desc { "hidden"; inherit;
+ inherit: "default";
+ }
}
rect { "icon_clip";
desc { "default";
@@ -523,8 +383,7 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
swallow { "efl.background"; nomouse; required;
desc { "default";
- rel1.to: "base";
- rel2.to: "base";
+ rel.to: "base";
visible: 0;
}
desc { "visible";
@@ -537,10 +396,10 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
- rel1.offset: 0 4;
+ rel1.offset: 4 4;
rel1.to: "base";
rel2.relative: 0.0 1.0;
- rel2.offset: 0 -5;
+ rel2.offset: 4 -5;
rel2.to: "base";
visible: 0;
}
@@ -555,141 +414,116 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
- rel2.offset: -1 -5;
+ rel2.offset: -5 -5;
visible: 1;
}
}
text { "sizer_content"; nomouse;
scale: 1;
desc { "default";
+ fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
- desc { "visible";
- inherit: "default";
- rel1.to: "efl.content";
- rel2.to: "efl.content";
+ desc { "visible"; inherit;
+ rel.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
- text: "M";
+ text: SPACER_TEXT;
}
}
- desc { "icononly";
- inherit: "default";
- rel1.to: "efl.content";
- rel2.to: "efl.content";
+ desc { "icononly"; inherit;
+ fixed: 0 0;
+ rel.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
- text: "M";
+ text: SPACER_TEXT;
}
}
}
- text { "efl.text"; nomouse;
- effect: GLOW;
+ text { "efl.text"; nomouse; required;
scale: 1;
desc { "default";
- rel1.offset: -2 0;
+ rel1.offset: 0 4;
rel1.relative: 1.0 0.0;
rel1.to_x: "efl.content";
rel1.to_y: "base";
- rel2.offset: -1 -1;
+ rel2.offset: -5 -5;
rel2.to: "base";
- color_class: "button_text_anchor";
- color2: 255 255 255 255;
- color3: 255 255 255 255;
+ color: 51 153 255 255;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
- text_class: "button_anchor";
}
visible: 0;
}
desc { "visible";
inherit: "default";
- rel1.offset: 0 0;
+ rel1.offset: 4 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
- desc { "textonly";
+ desc { "pressed_visible";
inherit: "default";
+ color: 255 255 255 255;
+ rel1.offset: 4 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
+ fixed: 0 0;
}
- desc { "disabled_visible";
+ desc { "textonly";
inherit: "default";
- rel1.offset: 0 0;
- color_class: "button_text_anchor_disabled";
+ rel1.offset: 0 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
- desc { "disabled_textonly";
+ desc { "pressed_textonly";
inherit: "default";
- color_class: "button_text_anchor_disabled";
+ color: 255 255 255 255;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
+ fixed: 0 0;
}
- }
- text { "text2"; nomouse;
- effect: GLOW;
- scale: 1;
- desc { "default";
- fixed: 1 1;
- rel1.to: "efl.text";
- rel2.to: "efl.text";
- color_class: "button_text_anchor";
- color2: 255 255 255 255;
- color3: 255 255 255 255;
- text { font: FN; size: 10;
- text_source: "efl.text";
- min: 1 1;
- ellipsis: -1;
- text_class: "button_anchor";
- }
- visible: 0;
+ desc { "disabled_visible";
+ inherit: "default";
+ rel1.offset: 0 0;
+ color: 96 96 96 255;
+ text.min: 1 1;
+ text.ellipsis: -1;
+ visible: 1;
}
- desc { "clicked";
+ desc { "disabled_textonly";
inherit: "default";
+ rel1.offset: 0 4;
+ color: 96 96 96 255;
+ text.min: 1 1;
+ text.ellipsis: -1;
visible: 1;
}
}
- image { "bar"; nomouse;
+ rect { "bar"; nomouse;
desc { "default";
- image.normal: "horizontal_separated_bar_small_glow.png";
- image.border: 4 4 4 4;
- fill.smooth: 0;
- fixed: 0 1;
+ color: 51 153 255 255;
rel1.relative: 0.0 1.0;
- rel1.offset: -3 -6;
- rel2.offset: 2 3;
+ rel1.offset: 2 -3;
+ rel2.offset: -3 -3;
}
- desc { "disabled";
+ desc { "pressed";
inherit: "default";
- color: 255 255 255 64;
- }
- }
- image { "bar2"; nomouse;
- desc { "default";
- image.normal: "horizontal_separated_bar_small_glow.png";
- image.border: 4 4 4 4;
- fill.smooth: 0;
- rel1.to: "bar";
- rel2.to: "bar";
- color: 255 255 255 0;
- visible: 0;
+ color: 255 255 255 255;
}
- desc { "clicked";
+ desc { "disabled";
inherit: "default";
- color: 255 255 255 255;
- visible: 1;
+ color: 96 96 96 255;
}
}
rect { "event";
@@ -704,89 +538,80 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
programs {
EFL_UI_CLICKABLE_PART_BIND("event")
- program {
- signal: "mouse,down,1"; source: "event";
+ program { signal: "mouse,down,1"; source: "event";
after: "button_click_anim";
}
program { name: "button_click_anim";
- action: STATE_SET "clicked" 0.0;
- target: "bar2";
- target: "text2";
+ script {
+ new m = get_int(btmode);
+ m |= PRESSED; set_int(btmode, m);
+ eval_mode(m);
+ }
}
- program {
- signal: "mouse,up,1"; source: "event";
+ program { signal: "mouse,up,1"; source: "event";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
- action: STATE_SET "default" 0.0;
- target: "bar2";
- target: "text2";
- }
- program {
- signal: "efl,state,animation,activated"; source: "efl";
- action: STATE_SET "clicked" 0.0;
- target: "bar2";
- target: "text2";
+ script {
+ new m = get_int(btmode);
+ m &= ~PRESSED; set_int(btmode, m);
+ eval_mode(m);
+ }
+ }
+ program { signal: "efl,state,animation,activated"; source: "efl";
+ action: STATE_SET "pressed" 0.0;
+ target: "base";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
action: STATE_SET "default" 0.0;
in: 0.5 0.0;
- target: "bar2";
- target: "text2";
+ target: "base";
}
- program { name: "button_text_visible";
- signal: "efl,text,set"; source: "efl";
+ program { signal: "efl,text,set"; source: "efl";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
- program { name: "button_text_hidden";
- signal: "efl,text,unset"; source: "efl";
+ program { signal: "efl,text,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
- program { name: "button_icon_visible";
- signal: "efl,content,set"; source: "efl";
+ program { signal: "efl,content,set"; source: "efl";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
- program { name: "button_icon_hidden";
- signal: "efl,content,unset"; source: "efl";
+ program { signal: "efl,content,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
- program { name: "button_background_visible";
- signal: "efl,state,background,set"; source: "efl";
+ program { signal: "efl,state,background,set"; source: "efl";
action: STATE_SET "visible" 0.0;
target: "efl.background";
}
- program { name: "button_background_hidden";
- signal: "efl,state,background,unset"; source: "efl";
+ program { signal: "efl,state,background,unset"; source: "efl";
action: STATE_SET "default" 0.0;
target: "efl.background";
}
- program { name: "button_state_disabled";
- signal: "efl,state,disabled"; source: "efl";
+ program { signal: "efl,state,disabled"; source: "efl";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
- program { name: "button_state_enabled";
- signal: "efl,state,enabled"; source: "efl";
+ program { signal: "efl,state,enabled"; source: "efl";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
@@ -794,8 +619,4 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
}
}
-#undef ICON
-#undef LABEL
-#undef MASK
-#undef DISABLE
}
diff --git a/data/elementary/themes/edc/efl/navigation_bar.edc b/data/elementary/themes/edc/efl/navigation_bar.edc
index ab51d4aea6..93ef542cb0 100644
--- a/data/elementary/themes/edc/efl/navigation_bar.edc
+++ b/data/elementary/themes/edc/efl/navigation_bar.edc
@@ -1,8 +1,9 @@
//Efl.Ui.Navigation_Bar Themes
-group { "efl/navigation_bar"; data.item: "version" "123";
+group { "efl/navigation_bar";
+ data.item: "version" "123";
styles {
style { name: "navigation_bar_text";
- base: "font="FNBD" font_size=10 text_class=label align=center color=#fff color_class=navigation_bar_text style=shadow,bottom shadow_color=#00000080 ellipsis=1.0 wrap=mixed";
+ base: "font="FNBD" font_size=10 text_class=label align=center color=#fff ellipsis=1.0 wrap=mixed";
tag: "br" "\n";
tag: "hilight" "+ font="FNBD" text_class=label_light";
tag: "b" "+ font="FNBD" text_class=label_light";
@@ -16,6 +17,7 @@ group { "efl/navigation_bar"; data.item: "version" "123";
}
}
swallow { "efl.back_button";
+ scale;
desc { "default";
fixed: 1 0;
min: 0 0;
@@ -27,71 +29,65 @@ group { "efl/navigation_bar"; data.item: "version" "123";
}
desc { "visible";
inherit: "default";
- min: 40 0;
+ min: 40 20;
max: 40 -1;
vis;
}
}
swallow { "efl.left_content";
+ scale;
desc { "default";
rel.to: "base";
rel2.relative: 0.0 1.0;
align: 0.0 0.5;
+ min: 40 20;
+ max: 40 -1;
}
}
swallow { "efl.right_content";
+ scale;
desc { "default";
rel.to: "base";
rel1.relative: 1.0 0.0;
align: 1.0 0.5;
+ min: 40 20;
+ max: 40 -1;
}
}
spacer { "text_base";
desc { "default";
- rel1 {
- to: "efl.back_button";
- relative: 1.0 0.0;
- }
- rel2 {
- to: "efl.right_content";
- relative: 0.0 1.0;
- }
+ rel1.to: "efl.back_button";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "efl.right_content";
+ rel2.relative: 0.0 1.0;
}
desc { "left_content";
inherit: "default";
- rel1 {
- to: "efl.left_content";
- relative: 1.0 0.0;
- }
+ rel1.to: "efl.left_content";
+ rel1.relative: 1.0 0.0;
}
}
textblock { "efl.text";
scale;
desc { "default";
- text {
- style: "navigation_bar_text";
- }
rel.to: "text_base";
+ text.style: "navigation_bar_text";
}
}
programs {
- program {
- signal: "efl,state,back_button,visible"; source: "efl";
+ program { signal: "efl,state,back_button,visible"; source: "efl";
action: STATE_SET "visible" 0.0;
target: "efl.back_button";
}
- program {
- signal: "efl,state,back_button,hidden"; source: "efl";
+ program { signal: "efl,state,back_button,hidden"; source: "efl";
action: STATE_SET "default" 0.0;
target: "efl.back_button";
}
- program {
- signal: "efl,state,left_content,set"; source: "efl";
+ program { signal: "efl,state,left_content,set"; source: "efl";
action: STATE_SET "left_content" 0.0;
target: "text_base";
}
- program {
- signal: "efl,state,left_content,unset"; source: "efl";
+ program { signal: "efl,state,left_content,unset"; source: "efl";
action: STATE_SET "default" 0.0;
target: "text_base";
}
@@ -102,13 +98,12 @@ group { "efl/navigation_bar"; data.item: "version" "123";
group { name: "efl/navigation_bar/back_button";
inherit: "efl/button";
data.item: "version" "123";
- images.image: "icon_arrow_left.png" COMP;
parts {
image { name: "icon_arrow_left";
insert_before: "efl.content";
desc { "default";
- image.normal: "icon_arrow_left.png";
- fill.smooth: 0;
+ image.normal: "i-arrow-l";
+ color: 160 160 160 255;
}
}
}
diff --git a/data/elementary/themes/edc/efl/navigation_layout.edc b/data/elementary/themes/edc/efl/navigation_layout.edc
index a75157da28..eac4558b82 100644
--- a/data/elementary/themes/edc/efl/navigation_layout.edc
+++ b/data/elementary/themes/edc/efl/navigation_layout.edc
@@ -1,11 +1,13 @@
//Efl.Ui.Navigation_Layout Themes
-group { "efl/navigation_layout"; data.item: "version" "123";
+group { "efl/navigation_layout";
+ data.item: "version" "123";
parts {
spacer { "base";
desc { "default";
}
}
swallow { "efl.bar";
+ scale: 1;
desc { "default";
fixed: 0 1;
min: 0 40;
diff --git a/data/elementary/themes/edc/elm/progress.edc b/data/elementary/themes/edc/elm/progress.edc
index d5d848737d..7cf14b7507 100644
--- a/data/elementary/themes/edc/elm/progress.edc
+++ b/data/elementary/themes/edc/elm/progress.edc
@@ -41,8 +41,7 @@ group { name: "elm/progressbar/horizontal/default";
parts {
part { name: "dis_clip"; type: RECT;
description { state: "default" 0.0;
- rel1.to: "elm.swallow.content";
- rel2.to: "elm.swallow.content";
+ rel.to: "elm.swallow.content";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
@@ -77,7 +76,7 @@ group { name: "elm/progressbar/horizontal/default";
visible: 0;
align: 0.0 0.5;
fixed: 1 0;
- rel1.offset: 0 4;
+ rel1.offset: -1 4;
rel2.offset: -1 -5;
rel2.relative: 0.0 1.0;
offscale;
@@ -85,7 +84,7 @@ group { name: "elm/progressbar/horizontal/default";
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
- aspect: 1.0 1.0; aspect_preference: VERTICAL;
+// aspect: 1.0 1.0; aspect_preference: VERTICAL;
rel1.offset: 4 4;
rel2.offset: 4 -5;
}
@@ -102,8 +101,7 @@ group { name: "elm/progressbar/horizontal/default";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
- rel1.to: "elm.swallow.content";
- rel2.to: "elm.swallow.content";
+ rel.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
@@ -163,8 +161,7 @@ group { name: "elm/progressbar/horizontal/default";
}
part { name: "elm.swallow.bar"; type: SWALLOW; mouse_events: 0;
description { state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
+ rel.to: "bg";
}
}
part { name: "elm.cur.progressbar"; mouse_events: 0; type: SPACER;
@@ -175,8 +172,7 @@ group { name: "elm/progressbar/horizontal/default";
fixed: 1 1;
min: 1 1;
max: 1 9999;
- rel1.to: "elm.swallow.bar";
- rel2.to: "elm.swallow.bar";
+ rel.to: "elm.swallow.bar";
}
}
part { name: "barend"; type: SPACER;
@@ -215,8 +211,7 @@ group { name: "elm/progressbar/horizontal/default";
fixed: 1 1;
min: 16 8;
max: 16 9999;
- rel1.to: "elm.swallow.bar";
- rel2.to: "elm.swallow.bar";
+ rel.to: "elm.swallow.bar";
align: 0.0 0.5;
color: 51 153 255 255;
}
@@ -229,9 +224,8 @@ group { name: "elm/progressbar/horizontal/default";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
- rel1.to: "elm.swallow.bar";
+ rel.to: "elm.swallow.bar";
rel1.offset: 4 0;
- rel2.to: "elm.swallow.bar";
rel2.offset: -5 -1;
align: 1.0 0.5;
text { font: FN; size: 10;
@@ -459,7 +453,7 @@ group { name: "elm/progressbar/vertical/default";
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
- aspect: 1.0 1.0; aspect_preference: HORIZONTAL;
+// aspect: 1.0 1.0; aspect_preference: HORIZONTAL;
rel1.offset: 4 4;
rel2.offset: -5 4;
}
diff --git a/data/elementary/themes/edc/elm/radio.edc b/data/elementary/themes/edc/elm/radio.edc
index 6f7afd6109..608fbe86fb 100644
--- a/data/elementary/themes/edc/elm/radio.edc
+++ b/data/elementary/themes/edc/elm/radio.edc
@@ -560,6 +560,10 @@ group { name: "elm/radio/base/plain";
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,radio,toggle" "elm";
+ after: "check_toggle";
+ }
+ program { name: "check_toggle";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
}
program { signal: "elm,state,*,on"; source: "elm";
script {
@@ -898,6 +902,10 @@ group { name: "elm/radio/base/icon";
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "elm,action,radio,toggle" "elm";
+ after: "check_toggle";
+ }
+ program { name: "check_toggle";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "elm";
}
program { signal: "elm,state,*,on"; source: "elm";
script {
diff --git a/data/elementary/themes/edc/icons.edc b/data/elementary/themes/edc/icons.edc
index 76f578d426..0bd1b34c57 100644
--- a/data/elementary/themes/edc/icons.edc
+++ b/data/elementary/themes/edc/icons.edc
@@ -519,6 +519,8 @@ ICON("audio/ac3", "i-sound")
ICON("application/x-mpegurl", "i-sound")
ICON("application/vnd.apple.mpegurl", "i-sound")
+ICON("application/x-partial-download", "i-download")
+
#undef ICON
// elm icons
@@ -731,6 +733,8 @@ ICON("no_photo", "i-head")
ICON("photo/no_photo", "i-head")
+ICON("heart", "i-heart")
+
ICON("toolbar/folder", "i-folder")
ICON("toolbar/file", "i-file")
ICON("toolbar/clock", "i-clock")
@@ -788,6 +792,7 @@ ICON("folder-videos", "i-folder-videos")
ICON("folder-visiting", "i-folder-visiting")
ICON("battery", "i-battery")
+ICON("power-plug", "i-power-plug")
ICON("camera", "i-camera")
ICON("camera-photo", "i-photo")
ICON("camera-web", "i-webcam")
@@ -807,6 +812,9 @@ ICON("phone", "i-phone")
ICON("printer", "i-printer")
ICON("scanner", "i-scanner")
+ICON("health", "i-health")
+ICON("tech", "i-tech")
+
ICON("media-optical", "i-drive-cd")
ICON("media-optical-cd", "i-drive-cd")
ICON("media-optical-audio", "i-drive-cd")
diff --git a/data/elementary/themes/ic.edc b/data/elementary/themes/ic.edc
index 177c4604d5..a2b50c5f30 100644
--- a/data/elementary/themes/ic.edc
+++ b/data/elementary/themes/ic.edc
@@ -213,6 +213,8 @@ I160("i-film", "film")
I160("i-sound", "sound")
I160("i-font-file", "font-file")
+I160("i-download", "download")
+
I160("i-mobile", "mobile-phone")
I160("i-pda", "pda")
I160("i-phone", "phone")
@@ -222,6 +224,7 @@ I160("i-tablet", "tablet")
I160("i-drawing-tablet", "drawing-tablet")
I160("i-gamepad", "gamepad")
I160("i-battery", "battery")
+I160("i-power-plug", "power-plug")
I160("i-tools", "tools")
I160("i-atom", "atom")
I160("i-folder-open", "folder-open")
@@ -392,6 +395,9 @@ I160("i-help", "help")
I160("i-help-contents", "help-contents")
I160("i-faq", "faq")
+I160("i-health", "heart")
+I160("i-tech", "tech")
+
I160("i-list-icons", "list-icons")
I160("i-list-compact", "list-compact")
I160("i-list-details", "list-details")
diff --git a/data/elementary/themes/img/download.svg b/data/elementary/themes/img/download.svg
new file mode 100644
index 0000000000..d442fc22a6
--- /dev/null
+++ b/data/elementary/themes/img/download.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ width="80"
+ height="80"
+ viewBox="0 0 80 80"
+ sodipodi:docname="download.svg"
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+ inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/download-040.png"
+ inkscape:export-xdpi="48"
+ inkscape:export-ydpi="48">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1476">
+ <stop
+ style="stop-color:#9933ff;stop-opacity:1"
+ offset="0"
+ id="stop1472" />
+ <stop
+ style="stop-color:#9933ff;stop-opacity:0"
+ offset="1"
+ id="stop1474" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1466">
+ <stop
+ style="stop-color:#ff3399;stop-opacity:1"
+ offset="0"
+ id="stop1462" />
+ <stop
+ style="stop-color:#ff3399;stop-opacity:0"
+ offset="1"
+ id="stop1464" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1454">
+ <stop
+ style="stop-color:#ff9933;stop-opacity:1"
+ offset="0"
+ id="stop1450" />
+ <stop
+ style="stop-color:#ff9933;stop-opacity:0"
+ offset="1"
+ id="stop1452" />
+ </linearGradient>
+ <mask
+ maskUnits="userSpaceOnUse"
+ id="mask947">
+ <rect
+ style="opacity:1;fill:#a0a0a0;fill-opacity:1;stroke-width:3.96122;stroke-linecap:round;stroke-linejoin:round"
+ id="rect949"
+ width="60"
+ height="40"
+ x="10"
+ y="5" />
+ </mask>
+ <mask
+ id="mask3567"
+ maskUnits="userSpaceOnUse">
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 40,10 C 19,10 20,17.832395 20,30 20,42.167605 19,70 40,70 61,70 60,42.167605 60,30 60,17.832395 61,10 40,10 Z"
+ id="path3569"
+ sodipodi:nodetypes="zzzzz" />
+ </mask>
+ <clipPath
+ id="clipPath922"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path924"
+ d="m 1.3229166,295.4125 h 7.9375003 v -6.08542 c 0,-0.52917 0,-0.52917 -0.529167,-0.52917 H 1.8520833 c -0.5291666,0 -0.5291666,0 -0.5291667,0.52917 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </clipPath>
+ <clipPath
+ id="clipPath922-6"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path924-7"
+ d="m 1.3229166,295.4125 h 7.9375003 v -6.08542 c 0,-0.52917 0,-0.52917 -0.529167,-0.52917 H 1.8520833 c -0.5291666,0 -0.5291666,0 -0.5291667,0.52917 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath876">
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 5.2916667,287.73958 a 3.96875,3.96875 0 0 0 -3.9687501,3.96875 3.96875,3.96875 0 0 0 3.9687501,3.96875 3.96875,3.96875 0 0 0 3.96875,-3.96875 3.96875,3.96875 0 0 0 -3.96875,-3.96875 z m 0,2.38125 a 1.5875001,1.5875044 0 0 1 1.5875,1.5875 1.5875001,1.5875044 0 0 1 -1.5875,1.5875 1.5875001,1.5875044 0 0 1 -1.5875,-1.5875 1.5875001,1.5875044 0 0 1 1.5875,-1.5875 z"
+ id="path878" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1454"
+ id="linearGradient1456"
+ x1="40"
+ y1="62"
+ x2="40"
+ y2="52"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1466"
+ id="linearGradient1460"
+ gradientUnits="userSpaceOnUse"
+ x1="40"
+ y1="60"
+ x2="40"
+ y2="52"
+ gradientTransform="translate(-16)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1476"
+ id="linearGradient1470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(12)"
+ x1="40"
+ y1="58"
+ x2="40"
+ y2="52" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-rotation="0"
+ pagecolor="#404040"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1756"
+ inkscape:window-height="1372"
+ id="namedview4"
+ showgrid="true"
+ inkscape:zoom="13.1625"
+ inkscape:cx="40"
+ inkscape:cy="39.962013"
+ inkscape:window-x="804"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g10"
+ showguides="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-others="true"
+ inkscape:snap-nodes="true"
+ inkscape:bbox-paths="true"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:snap-midpoints="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid837"
+ empspacing="4"
+ enabled="true"
+ snapvisiblegridlinesonly="false" />
+ </sodipodi:namedview>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Image"
+ id="g10">
+ <path
+ id="path987"
+ style="fill:#dcdcdc;fill-opacity:1;stroke-width:3.99999;stroke-linecap:round;stroke-linejoin:round"
+ d="m 40.000013,8.000132 a 15.999947,15.999947 0 0 0 -15.999945,15.999948 15.999947,15.999947 0 0 0 0.01568,0.683591 11.99996,11.99996 0 0 0 -7.339819,7.343726 7.9999736,7.9999736 0 0 1 -0.004,0 7.9999736,7.9999736 0 0 0 -0.671756,-0.02734 A 7.9999736,7.9999736 0 0 0 8.0001995,40.000025 7.9999736,7.9999736 0 0 0 16.000173,48 a 7.9999736,7.9999736 0 0 0 0.121105,0 h 11.878775 31.999894 a 11.99996,11.99996 0 0 0 11.999962,-11.999957 11.99996,11.99996 0 0 0 -11.999962,-11.99996 11.99996,11.99996 0 0 0 -4.015611,0.69531 15.999947,15.999947 0 0 0 0.01568,-0.69531 A 15.999947,15.999947 0 0 0 40.000069,8.000135 Z" />
+ <circle
+ style="opacity:1;fill:#cacaca;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1436"
+ cx="28"
+ cy="36"
+ r="12" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="path1430"
+ cx="16"
+ cy="42"
+ r="6" />
+ <circle
+ style="opacity:1;fill:#f2f2f2;fill-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1432"
+ cx="38"
+ cy="22"
+ r="12" />
+ <circle
+ style="opacity:1;fill:#f3f3f3;fill-opacity:1;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1438"
+ cx="60"
+ cy="37.5"
+ r="10.5" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:9.66667;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1434"
+ cx="44"
+ cy="33.5"
+ r="14.5" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:6.66667;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1440"
+ cx="28"
+ cy="38"
+ r="10" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1442"
+ cx="60"
+ cy="42"
+ r="6" />
+ <rect
+ style="opacity:1;fill:#fdfdfd;fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="rect1444"
+ width="43.878723"
+ height="7"
+ x="16.121279"
+ y="41" />
+ <circle
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ id="circle1446"
+ cx="36"
+ cy="18"
+ r="6" />
+ <path
+ style="opacity:1;fill:url(#linearGradient1460);fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ d="m 20,52 v 6 h -4 l 8,8 8,-8 h -4 v -6 z"
+ id="path1458"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="opacity:1;fill:url(#linearGradient1470);fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ d="m 50,52 v 4 h -4 l 6,6 6,-6 h -4 v -4 z"
+ id="path1468"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ style="opacity:1;fill:url(#linearGradient1456);fill-opacity:1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0"
+ d="m 32,52 v 8 H 28 L 40,72 52,60 h -4 v -8 z"
+ id="path1448"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/data/elementary/themes/img/eye.svg b/data/elementary/themes/img/eye.svg
new file mode 100644
index 0000000000..f659b0f556
--- /dev/null
+++ b/data/elementary/themes/img/eye.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32"
+ height="32"
+ viewBox="0 0 8.4666667 8.4666667"
+ version="1.1"
+ id="svg8"
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+ sodipodi:docname="eve.svg"
+ inkscape:export-filename="/home/raster/entice.png"
+ inkscape:export-xdpi="384"
+ inkscape:export-ydpi="384">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#404040"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="38.03125"
+ inkscape:cx="16"
+ inkscape:cy="16"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ inkscape:document-rotation="0"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:window-width="2560"
+ inkscape:window-height="1377"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid833"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:#202020;fill-opacity:1;stroke-width:0.753018;stroke-linecap:round;stroke-linejoin:round"
+ d="M 0.26458333,4.2333333 C 0.79375,3.175 2.6433854,1.5875 4.2333333,1.5875 c 1.5899479,0 3.4395834,1.5875 3.9687499,2.6458333 -0.5291665,1.0583334 -2.378802,2.38125 -3.9687499,2.38125 -1.5899479,0 -3.4395833,-1.3229166 -3.96874997,-2.38125 z"
+ id="path854"
+ sodipodi:nodetypes="czczc" />
+ <path
+ style="fill:#dcdcdc;fill-opacity:1;stroke-width:0.709952;stroke-linecap:round;stroke-linejoin:round"
+ d="M 0.26458333,4.2333333 C 1.0583333,3.3866667 2.6433854,2.1166667 4.2333333,2.1166667 c 1.5899479,0 3.175,1.27 3.9687499,2.1166666 C 7.4083333,5.08 5.8232812,6.3499999 4.2333333,6.3499999 c -1.5899479,0 -3.175,-1.2699999 -3.96874997,-2.1166666 z"
+ id="path835"
+ sodipodi:nodetypes="czczc" />
+ <circle
+ style="fill:#ffffff;fill-opacity:1;stroke-width:3.96875;stroke-linecap:round;stroke-linejoin:round"
+ id="circle856"
+ cx="3.7041667"
+ cy="3.7041667"
+ r="1.3229166" />
+ <circle
+ style="fill:#523a24;fill-opacity:1;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
+ id="path839"
+ cx="4.2333331"
+ cy="4.2333331"
+ r="1.8520833" />
+ <ellipse
+ style="fill:#202020;fill-opacity:1;stroke-width:0.635;stroke-linecap:round;stroke-linejoin:round"
+ id="path841"
+ cx="4.2333336"
+ cy="4.2333331"
+ rx="1.0583334"
+ ry="1.0583333" />
+ <circle
+ style="fill:#ffffff;fill-opacity:0.2;stroke-width:3.96875;stroke-linecap:round;stroke-linejoin:round"
+ id="circle850"
+ cx="3.7041667"
+ cy="3.7041667"
+ r="1.3229166" />
+ <circle
+ style="fill:#ffffff;fill-opacity:1;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
+ id="path843"
+ cx="3.7041667"
+ cy="3.7041667"
+ r="0.26458332" />
+ <path
+ id="path845"
+ style="fill:#000000;fill-opacity:0.2;stroke-width:0.709952;stroke-linecap:round;stroke-linejoin:round"
+ d="m 3.9584148,2.1298958 c -0.014321,0.00127 -0.028579,0.00267 -0.042892,0.00413 0.014259,-0.00142 0.028577,-0.0029 0.042892,-0.00413 z M 3.4158121,2.2233268 C 2.1206543,2.5440378 0.92151635,3.5326047 0.26458333,4.2333333 0.35239639,4.3270007 0.45353779,4.4271854 0.55965576,4.5289224 0.74628811,4.0078164 1.8706842,2.6167545 3.4158121,2.2233268 Z" />
+ </g>
+</svg>
diff --git a/data/elementary/themes/img/heart.svg b/data/elementary/themes/img/heart.svg
new file mode 100644
index 0000000000..8d2f95c8bf
--- /dev/null
+++ b/data/elementary/themes/img/heart.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ width="80"
+ height="80"
+ viewBox="0 0 80 80"
+ sodipodi:docname="heart.svg"
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+ inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/heart-040.png"
+ inkscape:export-xdpi="48"
+ inkscape:export-ydpi="48">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect878" />
+ <rect
+ x="20"
+ y="50"
+ width="40"
+ height="30"
+ id="rect872" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect864" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect858" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect852" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-rotation="0"
+ pagecolor="#404040"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ id="namedview4"
+ showgrid="true"
+ inkscape:zoom="10.4875"
+ inkscape:cx="40"
+ inkscape:cy="40"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10"
+ showguides="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-others="false"
+ inkscape:snap-nodes="true"
+ borderlayer="true">
+ <inkscape:grid
+ empspacing="4"
+ type="xygrid"
+ id="grid837" />
+ </sodipodi:namedview>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Image"
+ id="g10">
+ <path
+ style="fill:#c07676;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 40,76 16,52 C 8,43 4,36 4,24 4,12 12,4 24,4 32,4 40,12 40,20 40,12 48,4 56,4 68,4 76,12 76,24 76,36 72,44 64,52 Z"
+ id="path2537"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ id="path2539"
+ style="fill:#000000;fill-opacity:0.2;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 56 4 C 56 4 68 4 68 24 C 68 36 62 43 56 52 L 40 76 L 64 52 C 72 44 76 36 76 24 C 76 12 68 4 56 4 z " />
+ <circle
+ style="fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:0.513;stroke-linejoin:round"
+ id="path2541"
+ cx="52"
+ cy="12"
+ r="4" />
+ <circle
+ style="fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:0.513;stroke-linejoin:round"
+ id="circle2543"
+ cx="16"
+ cy="12"
+ r="4" />
+ </g>
+</svg>
diff --git a/data/elementary/themes/img/ic/download-040.png b/data/elementary/themes/img/ic/download-040.png
new file mode 100644
index 0000000000..4590e691eb
--- /dev/null
+++ b/data/elementary/themes/img/ic/download-040.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/download-080.png b/data/elementary/themes/img/ic/download-080.png
new file mode 100644
index 0000000000..7989464b66
--- /dev/null
+++ b/data/elementary/themes/img/ic/download-080.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/download-160.png b/data/elementary/themes/img/ic/download-160.png
new file mode 100644
index 0000000000..de3783d8da
--- /dev/null
+++ b/data/elementary/themes/img/ic/download-160.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/drive-hdd-160.png b/data/elementary/themes/img/ic/drive-hdd-160.png
deleted file mode 100644
index dba092ba85..0000000000
--- a/data/elementary/themes/img/ic/drive-hdd-160.png
+++ /dev/null
Binary files differ
diff --git a/data/elementary/themes/img/ic/heart-040.png b/data/elementary/themes/img/ic/heart-040.png
new file mode 100644
index 0000000000..bce1ade8b6
--- /dev/null
+++ b/data/elementary/themes/img/ic/heart-040.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/heart-080.png b/data/elementary/themes/img/ic/heart-080.png
new file mode 100644
index 0000000000..99df86a201
--- /dev/null
+++ b/data/elementary/themes/img/ic/heart-080.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/heart-160.png b/data/elementary/themes/img/ic/heart-160.png
new file mode 100644
index 0000000000..c2cadabfd3
--- /dev/null
+++ b/data/elementary/themes/img/ic/heart-160.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/power-plug-040.png b/data/elementary/themes/img/ic/power-plug-040.png
new file mode 100644
index 0000000000..e249d1b666
--- /dev/null
+++ b/data/elementary/themes/img/ic/power-plug-040.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/power-plug-080.png b/data/elementary/themes/img/ic/power-plug-080.png
new file mode 100644
index 0000000000..2ac5251f86
--- /dev/null
+++ b/data/elementary/themes/img/ic/power-plug-080.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/power-plug-160.png b/data/elementary/themes/img/ic/power-plug-160.png
new file mode 100644
index 0000000000..2d9d0ad628
--- /dev/null
+++ b/data/elementary/themes/img/ic/power-plug-160.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/tech-040.png b/data/elementary/themes/img/ic/tech-040.png
new file mode 100644
index 0000000000..e90efaf611
--- /dev/null
+++ b/data/elementary/themes/img/ic/tech-040.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/tech-080.png b/data/elementary/themes/img/ic/tech-080.png
new file mode 100644
index 0000000000..ee5d8681d0
--- /dev/null
+++ b/data/elementary/themes/img/ic/tech-080.png
Binary files differ
diff --git a/data/elementary/themes/img/ic/tech-160.png b/data/elementary/themes/img/ic/tech-160.png
new file mode 100644
index 0000000000..00c9943151
--- /dev/null
+++ b/data/elementary/themes/img/ic/tech-160.png
Binary files differ
diff --git a/data/elementary/themes/img/power-plug.svg b/data/elementary/themes/img/power-plug.svg
new file mode 100644
index 0000000000..b0e7bc1441
--- /dev/null
+++ b/data/elementary/themes/img/power-plug.svg
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ width="80"
+ height="80"
+ viewBox="0 0 80 80"
+ sodipodi:docname="power-plug.svg"
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+ inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/battery-low-040.png"
+ inkscape:export-xdpi="48"
+ inkscape:export-ydpi="48">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2513">
+ <stop
+ style="stop-color:#dcdcdc;stop-opacity:1;"
+ offset="0"
+ id="stop2509" />
+ <stop
+ style="stop-color:#a0a0a0;stop-opacity:1"
+ offset="1"
+ id="stop2511" />
+ </linearGradient>
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect878" />
+ <rect
+ x="20"
+ y="50"
+ width="40"
+ height="30"
+ id="rect872" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect864" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect858" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect852" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2513"
+ id="linearGradient2515"
+ x1="40"
+ y1="64"
+ x2="40"
+ y2="56"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-rotation="0"
+ pagecolor="#404040"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ id="namedview4"
+ showgrid="true"
+ inkscape:zoom="10.4875"
+ inkscape:cx="40"
+ inkscape:cy="40"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10"
+ showguides="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-others="false"
+ inkscape:snap-nodes="true"
+ borderlayer="true">
+ <inkscape:grid
+ empspacing="4"
+ type="xygrid"
+ id="grid837" />
+ </sodipodi:namedview>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Image"
+ id="g10">
+ <rect
+ style="fill:#ffd460;stroke-width:0.513;stroke-linejoin:round"
+ id="rect2501"
+ width="4"
+ height="20"
+ x="32"
+ y="4" />
+ <rect
+ style="fill:#ffd460;stroke-width:0.513;stroke-linejoin:round"
+ id="rect2503"
+ width="4"
+ height="20"
+ x="44"
+ y="4" />
+ <path
+ style="fill:url(#linearGradient2515);fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="m 36,52 v 24 h 8 V 52 Z"
+ id="path2507" />
+ <path
+ style="fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 24,24 h 32 v 20 c 0,6 -6,12 -12,12 H 36 C 30,56 24,50 24,44 Z"
+ id="path2505"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 28,24 h 24 v 13 c 0,4 -4,8 -8,8 h -8 c -4,0 -8,-4 -8,-8 z"
+ id="path2517"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+</svg>
diff --git a/data/elementary/themes/img/tech.svg b/data/elementary/themes/img/tech.svg
new file mode 100644
index 0000000000..dd2372c450
--- /dev/null
+++ b/data/elementary/themes/img/tech.svg
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ width="80"
+ height="80"
+ viewBox="0 0 80 80"
+ sodipodi:docname="tech.svg"
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
+ inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/tech-040.png"
+ inkscape:export-xdpi="48"
+ inkscape:export-ydpi="48">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect878" />
+ <rect
+ x="20"
+ y="50"
+ width="40"
+ height="30"
+ id="rect872" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect864" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect858" />
+ <rect
+ x="20"
+ y="20"
+ width="40"
+ height="30"
+ id="rect852" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-rotation="0"
+ pagecolor="#404040"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ id="namedview4"
+ showgrid="true"
+ inkscape:zoom="10.4875"
+ inkscape:cx="40"
+ inkscape:cy="40"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10"
+ showguides="false"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-others="false"
+ inkscape:snap-nodes="true"
+ borderlayer="true">
+ <inkscape:grid
+ empspacing="4"
+ type="xygrid"
+ id="grid837" />
+ </sodipodi:namedview>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Image"
+ id="g10">
+ <rect
+ style="fill:#202020;fill-opacity:1;stroke:none;stroke-width:0.342;stroke-linejoin:round"
+ id="rect2569"
+ width="32"
+ height="32"
+ x="24"
+ y="24" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 32,24 V 12 H 12"
+ id="path2595" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 40,24 V 4 H 28"
+ id="path2597"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 48,24 V 8 h 16"
+ id="path2599"
+ sodipodi:nodetypes="ccc" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path2601"
+ cx="67"
+ cy="8"
+ r="3.2" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2603"
+ cx="9"
+ cy="12"
+ r="3.2" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2605"
+ cx="25"
+ cy="4"
+ r="3.2" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 12,56 V 48 H 24"
+ id="path2607"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 4,52 V 40 h 20"
+ id="path2609"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 12,28 v 4 h 12"
+ id="path2611"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 68,60 V 48 H 56"
+ id="path2613"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 76,32 v 8 H 56"
+ id="path2615"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 68,24 v 8 H 56"
+ id="path2617"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 32,56 V 68 H 8"
+ id="path2619"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 40,56 V 76 H 24"
+ id="path2621"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 48,56 v 16 h 8"
+ id="path2623"
+ sodipodi:nodetypes="ccc" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2625"
+ cx="59"
+ cy="-72"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2627"
+ cx="5"
+ cy="-68"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2629"
+ cx="21"
+ cy="-76"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2631"
+ cx="12"
+ cy="-59"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2633"
+ cx="4"
+ cy="-55"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2635"
+ cx="12"
+ cy="-25"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2637"
+ cx="68"
+ cy="-21"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2639"
+ cx="76"
+ cy="-29"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.6;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle2641"
+ cx="68"
+ cy="-63"
+ r="3.2"
+ transform="scale(1,-1)" />
+ <rect
+ style="fill:#e9be4c;fill-opacity:1;stroke:none;stroke-width:0.171;stroke-linejoin:round"
+ id="rect2643"
+ width="16"
+ height="16"
+ x="32"
+ y="32" />
+ </g>
+</svg>