From 85e8adafbf705cb9a4f685adbc9aa0738bf7d0a4 Mon Sep 17 00:00:00 2001 From: Stephen 'Okra' Houston Date: Fri, 6 Jan 2017 16:08:25 -0600 Subject: [PATCH] Theme: Add necessary theme files for the new sysinfo gadget. --- data/elementary/themes/Makefile.am | 19 +++ data/elementary/themes/default.edc | 3 + data/elementary/themes/edc/battery.edc | 10 +- data/elementary/themes/edc/cpufreq.edc | 4 +- data/elementary/themes/edc/cpumonitor.edc | 129 +++++++++++++++++ data/elementary/themes/edc/memusage.edc | 228 ++++++++++++++++++++++++++++++ data/elementary/themes/edc/netstatus.edc | 119 ++++++++++++++++ data/elementary/themes/img/cpu_icon.png | Bin 0 -> 1172 bytes data/elementary/themes/img/idle.png | Bin 0 -> 1264 bytes data/elementary/themes/img/mem_icon.png | Bin 0 -> 3618 bytes data/elementary/themes/img/meter_00.png | Bin 0 -> 158 bytes data/elementary/themes/img/meter_01.png | Bin 0 -> 434 bytes data/elementary/themes/img/meter_02.png | Bin 0 -> 585 bytes data/elementary/themes/img/meter_03.png | Bin 0 -> 710 bytes data/elementary/themes/img/meter_04.png | Bin 0 -> 802 bytes data/elementary/themes/img/meter_05.png | Bin 0 -> 921 bytes data/elementary/themes/img/meter_06.png | Bin 0 -> 1033 bytes data/elementary/themes/img/meter_07.png | Bin 0 -> 1146 bytes data/elementary/themes/img/meter_08.png | Bin 0 -> 1267 bytes data/elementary/themes/img/meter_09.png | Bin 0 -> 1354 bytes data/elementary/themes/img/meter_10.png | Bin 0 -> 1440 bytes data/elementary/themes/img/rx.png | Bin 0 -> 1253 bytes data/elementary/themes/img/tx.png | Bin 0 -> 1110 bytes 23 files changed, 506 insertions(+), 6 deletions(-) create mode 100644 data/elementary/themes/edc/cpumonitor.edc create mode 100644 data/elementary/themes/edc/memusage.edc create mode 100644 data/elementary/themes/edc/netstatus.edc create mode 100644 data/elementary/themes/img/cpu_icon.png create mode 100644 data/elementary/themes/img/idle.png create mode 100644 data/elementary/themes/img/mem_icon.png create mode 100644 data/elementary/themes/img/meter_00.png create mode 100644 data/elementary/themes/img/meter_01.png create mode 100644 data/elementary/themes/img/meter_02.png create mode 100644 data/elementary/themes/img/meter_03.png create mode 100644 data/elementary/themes/img/meter_04.png create mode 100644 data/elementary/themes/img/meter_05.png create mode 100644 data/elementary/themes/img/meter_06.png create mode 100644 data/elementary/themes/img/meter_07.png create mode 100644 data/elementary/themes/img/meter_08.png create mode 100644 data/elementary/themes/img/meter_09.png create mode 100644 data/elementary/themes/img/meter_10.png create mode 100644 data/elementary/themes/img/rx.png create mode 100644 data/elementary/themes/img/tx.png diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index 529a3c7..308f602 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -38,6 +38,7 @@ elementary/themes/edc/comp_effects.edc \ elementary/themes/edc/conf.edc \ elementary/themes/edc/connman.edc \ elementary/themes/edc/cpufreq.edc \ +elementary/themes/edc/cpumonitor.edc \ elementary/themes/edc/cslider.edc \ elementary/themes/edc/desklock.edc \ elementary/themes/edc/deskmirror.edc \ @@ -57,9 +58,11 @@ elementary/themes/edc/illume.edc \ elementary/themes/edc/init.edc \ elementary/themes/edc/label.edc \ elementary/themes/edc/luncher.edc \ +elementary/themes/edc/memusage.edc \ elementary/themes/edc/menu.edc \ elementary/themes/edc/mixer.edc \ elementary/themes/edc/music_control.edc \ +elementary/themes/edc/netstatus.edc \ elementary/themes/edc/notification.edc \ elementary/themes/edc/packagekit.edc \ elementary/themes/edc/pager.edc \ @@ -218,6 +221,7 @@ elementary/themes/img/col_sel_end_bottom.png \ elementary/themes/img/col_sel_end_left.png \ elementary/themes/img/col_sel_end_right.png \ elementary/themes/img/col_sel_end_top.png \ +elementary/themes/img/cpu_icon.png \ elementary/themes/img/darken_rounded_square_half_h.png \ elementary/themes/img/darken_rounded_square_half.png \ elementary/themes/img/darken_rounded_square.png \ @@ -478,6 +482,7 @@ elementary/themes/img/icon_wallpaper_within.png \ elementary/themes/img/icon_warning.png \ elementary/themes/img/ic_win_move.png \ elementary/themes/img/ic_win_resize.png \ +elementary/themes/img/idle.png \ elementary/themes/img/img_example_1.png \ elementary/themes/img/img_example_2.png \ elementary/themes/img/inset_bar_horiz_base.png \ @@ -551,6 +556,7 @@ elementary/themes/img/map_circle.png \ elementary/themes/img/map_marker.png \ elementary/themes/img/map_scale.png \ elementary/themes/img/media_busy_progress.png \ +elementary/themes/img/mem_icon.png \ elementary/themes/img/mini_blue_glow_arrow_0.png \ elementary/themes/img/mini_blue_glow_arrow_1.png \ elementary/themes/img/mini_blue_glow_arrow_2.png \ @@ -565,6 +571,17 @@ elementary/themes/img/pointer_glow.png \ elementary/themes/img/pointer_mono.png \ elementary/themes/img/pointer.png \ elementary/themes/img/pointer_hand1.png \ +elementary/themes/img/meter_00.png \ +elementary/themes/img/meter_01.png \ +elementary/themes/img/meter_02.png \ +elementary/themes/img/meter_03.png \ +elementary/themes/img/meter_04.png \ +elementary/themes/img/meter_05.png \ +elementary/themes/img/meter_06.png \ +elementary/themes/img/meter_07.png \ +elementary/themes/img/meter_08.png \ +elementary/themes/img/meter_09.png \ +elementary/themes/img/meter_10.png \ elementary/themes/img/ring_shadow.png \ elementary/themes/img/ring_white_blue_glow.png \ elementary/themes/img/ring_white_middle.png \ @@ -573,6 +590,7 @@ elementary/themes/img/runner_glow_horiz.png \ elementary/themes/img/runner_glow_vert.png \ elementary/themes/img/runner_horiz.png \ elementary/themes/img/runner_vert.png \ +elementary/themes/img/rx.png \ elementary/themes/img/screen_base.png \ elementary/themes/img/screen_bg.png \ elementary/themes/img/screen_circular_shadow.png \ @@ -662,6 +680,7 @@ elementary/themes/img/tooltip-edge-bottom-tip.png \ elementary/themes/img/tooltip-edge-left-tip.png \ elementary/themes/img/tooltip-edge-right-tip.png \ elementary/themes/img/tooltip-edge-top-tip.png \ +elementary/themes/img/tx.png \ elementary/themes/img/vert_bar_inset.png \ elementary/themes/img/vert_glow_run.png \ elementary/themes/img/vert_glow_range.png \ diff --git a/data/elementary/themes/default.edc b/data/elementary/themes/default.edc index f26f8b3..5e801b4 100644 --- a/data/elementary/themes/default.edc +++ b/data/elementary/themes/default.edc @@ -149,6 +149,9 @@ collections { #include "edc/wireless.edc" #include "edc/time.edc" #include "edc/luncher.edc" +#include "edc/memusage.edc" +#include "edc/cpumonitor.edc" +#include "edc/netstatus.edc" // icons #include "edc/icons.edc" diff --git a/data/elementary/themes/edc/battery.edc b/data/elementary/themes/edc/battery.edc index 1886ec0..57661f1 100644 --- a/data/elementary/themes/edc/battery.edc +++ b/data/elementary/themes/edc/battery.edc @@ -223,9 +223,10 @@ group { name: "e/modules/battery/main"; rel2.offset: -1 2; color_class: "module_label_plain"; color3: 255 255 255 255; - text { font: "Sans"; size: 8; - min: 0 1; + text { font: "Sans"; fit: 1 1; + ellipsis: -1; + align: 0.5 0.5; text_class: "module_small"; } } @@ -243,9 +244,10 @@ group { name: "e/modules/battery/main"; rel2.to: "bg"; color_class: "module_label_plain"; color3: 255 255 255 255; - text { font: "Sans"; size: 8; - min: 0 1; + text { font: "Sans"; fit: 1 1; + ellipsis: -1; + align: 0.5 0.5; text_class: "module_small"; } } diff --git a/data/elementary/themes/edc/cpufreq.edc b/data/elementary/themes/edc/cpufreq.edc index c50f503..6dcc2fe 100644 --- a/data/elementary/themes/edc/cpufreq.edc +++ b/data/elementary/themes/edc/cpufreq.edc @@ -222,8 +222,8 @@ group { name: "e/modules/cpufreq/main"; rel2.relative: 0.75 0.75; color_class: "module_label"; color3: 255 255 255 255; - text { font: FN; size: 6; - min: 1 1; + text { font: FNBOLD; size: 6; + align: 0.5 0.5; ellipsis: -1; text_class: "module_small"; } diff --git a/data/elementary/themes/edc/cpumonitor.edc b/data/elementary/themes/edc/cpumonitor.edc new file mode 100644 index 0000000..36bee26 --- /dev/null +++ b/data/elementary/themes/edc/cpumonitor.edc @@ -0,0 +1,129 @@ +group { name: "e/modules/cpumonitor/main"; + image: "cpu_icon.png" COMP; + image: "mem_icon.png" COMP; + image: "meter_00.png" COMP; + image: "meter_01.png" COMP; + image: "meter_02.png" COMP; + image: "meter_03.png" COMP; + image: "meter_04.png" COMP; + image: "meter_05.png" COMP; + image: "meter_06.png" COMP; + image: "meter_07.png" COMP; + image: "meter_08.png" COMP; + image: "meter_09.png" COMP; + image: "meter_10.png" COMP; + script { + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 1)) { + new status = getarg(2); + new text[16]; + if (status == 0) + set_state(PART:"meter", "default", 0.0); + else if (status > 0 && status < 10) + set_state(PART:"meter", "default", 0.1); + else if (status >= 10 && status < 20) + set_state(PART:"meter", "default", 0.2); + else if (status >= 20 && status < 30) + set_state(PART:"meter", "default", 0.3); + else if (status >= 30 && status < 40) + set_state(PART:"meter", "default", 0.4); + else if (status >= 40 && status < 50) + set_state(PART:"meter", "default", 0.5); + else if (status >= 50 && status < 60) + set_state(PART:"meter", "default", 0.6); + else if (status >= 60 && status < 70) + set_state(PART:"meter", "default", 0.7); + else if (status >= 70 && status < 80) + set_state(PART:"meter", "default", 0.8); + else if (status >= 80 && status < 90) + set_state(PART:"meter", "default", 0.9); + else if (status >= 90 && status <= 100) + set_state(PART:"meter", "default", 1.0); + snprintf(text, sizeof(text), "CPU: %i %%", status); + set_text(PART:"status", text); + } + } + } + parts { + part { name: "fade_clip"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "base"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image.normal: "cpu_icon.png"; + } + } + part { name: "meter"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + rel1.relative: 0.1 0.4; + rel2.relative: 0.9 0.6; + image.normal: "meter_00.png"; + color: 255 255 255 190; + } + description { state: "default" 0.1; + inherit: "default" 0.0; + image.normal: "meter_01.png"; + } + description { state: "default" 0.2; + inherit: "default" 0.0; + image.normal: "meter_02.png"; + } + description { state: "default" 0.3; + inherit: "default" 0.0; + image.normal: "meter_03.png"; + } + description { state: "default" 0.4; + inherit: "default" 0.0; + image.normal: "meter_04.png"; + } + description { state: "default" 0.5; + inherit: "default" 0.0; + image.normal: "meter_05.png"; + } + description { state: "default" 0.6; + inherit: "default" 0.0; + image.normal: "meter_06.png"; + } + description { state: "default" 0.7; + inherit: "default" 0.0; + image.normal: "meter_07.png"; + } + description { state: "default" 0.8; + inherit: "default" 0.0; + image.normal: "meter_08.png"; + } + description { state: "default" 0.9; + inherit: "default" 0.0; + image.normal: "meter_09.png"; + } + description { state: "default" 1.0; + inherit: "default" 0.0; + image.normal: "meter_10.png"; + } + } + part { name: "status"; type: TEXT; mouse_events: 0; + scale: 1; + effect: SHADOW BOTTOM; + clip_to: "fade_clip"; + description { state: "default" 0.0; + color_class: "module_label"; + color3: 255 255 255 255; + rel1.relative: 0.1 0.0; + rel2.relative: 0.9 1.0; + text { font: FNBOLD; + fit: 1 1; + elipsis: -1; + align: 0.5 0.5; + text_class: "module_small"; + } + } + } + } +} + diff --git a/data/elementary/themes/edc/memusage.edc b/data/elementary/themes/edc/memusage.edc new file mode 100644 index 0000000..01f1691 --- /dev/null +++ b/data/elementary/themes/edc/memusage.edc @@ -0,0 +1,228 @@ +group { name: "e/modules/memusage/main"; + image: "mem_icon.png" COMP; + image: "meter_00.png" COMP; + image: "meter_01.png" COMP; + image: "meter_02.png" COMP; + image: "meter_03.png" COMP; + image: "meter_04.png" COMP; + image: "meter_05.png" COMP; + image: "meter_06.png" COMP; + image: "meter_07.png" COMP; + image: "meter_08.png" COMP; + image: "meter_09.png" COMP; + image: "meter_10.png" COMP; + script { + public slide_status(val) { + if (val == 0) + set_state(PART:"meter", "default", 0.0); + else if (val > 0 && val < 10) + set_state(PART:"meter", "default", 0.1); + else if (val >= 10 && val < 20) + set_state(PART:"meter", "default", 0.2); + else if (val >= 20 && val < 30) + set_state(PART:"meter", "default", 0.3); + else if (val >= 30 && val < 40) + set_state(PART:"meter", "default", 0.4); + else if (val >= 40 && val < 50) + set_state(PART:"meter", "default", 0.5); + else if (val >= 50 && val < 60) + set_state(PART:"meter", "default", 0.6); + else if (val >= 60 && val < 70) + set_state(PART:"meter", "default", 0.7); + else if (val >= 70 && val < 80) + set_state(PART:"meter", "default", 0.8); + else if (val >= 80 && val < 90) + set_state(PART:"meter", "default", 0.9); + else if (val >= 90 && val <= 100) + set_state(PART:"meter", "default", 1.0); + } + public slide_status_two(val) { + if (val == 0) + set_state(PART:"swap_meter", "default", 0.0); + else if (val > 0 && val < 10) + set_state(PART:"swap_meter", "default", 0.1); + else if (val >= 10 && val < 20) + set_state(PART:"swap_meter", "default", 0.2); + else if (val >= 20 && val < 30) + set_state(PART:"swap_meter", "default", 0.3); + else if (val >= 30 && val < 40) + set_state(PART:"swap_meter", "default", 0.4); + else if (val >= 40 && val < 50) + set_state(PART:"swap_meter", "default", 0.5); + else if (val >= 50 && val < 60) + set_state(PART:"swap_meter", "default", 0.6); + else if (val >= 60 && val < 70) + set_state(PART:"swap_meter", "default", 0.7); + else if (val >= 70 && val < 80) + set_state(PART:"swap_meter", "default", 0.8); + else if (val >= 80 && val < 90) + set_state(PART:"swap_meter", "default", 0.9); + else if (val >= 90 && val <= 100) + set_state(PART:"swap_meter", "default", 1.0); + } + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 1)) { + new status = getarg(2); + new text[16]; + + slide_status(status); + snprintf(text, sizeof(text), "Mem: %i %%", status); + set_text(PART:"status", text); + } + if ((type == MSG_INT_SET) && (id == 2)) { + new status = getarg(2); + new text[16]; + + slide_status_two(status); + snprintf(text, sizeof(text), "Swap: %i %%", status); + set_text(PART:"swap_status", text); + } + } + } + parts { + part { name: "fade_clip"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "base"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image.normal: "mem_icon.png"; + } + } + part { name: "meter"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + rel1.relative: 0.1 0.2; + rel2.relative: 0.9 0.4; + image.normal: "meter_00.png"; + color: 255 255 255 190; + } + description { state: "default" 0.1; + inherit: "default" 0.0; + image.normal: "meter_01.png"; + } + description { state: "default" 0.2; + inherit: "default" 0.0; + image.normal: "meter_02.png"; + } + description { state: "default" 0.3; + inherit: "default" 0.0; + image.normal: "meter_03.png"; + } + description { state: "default" 0.4; + inherit: "default" 0.0; + image.normal: "meter_04.png"; + } + description { state: "default" 0.5; + inherit: "default" 0.0; + image.normal: "meter_05.png"; + } + description { state: "default" 0.6; + inherit: "default" 0.0; + image.normal: "meter_06.png"; + } + description { state: "default" 0.7; + inherit: "default" 0.0; + image.normal: "meter_07.png"; + } + description { state: "default" 0.8; + inherit: "default" 0.0; + image.normal: "meter_08.png"; + } + description { state: "default" 0.9; + inherit: "default" 0.0; + image.normal: "meter_09.png"; + } + description { state: "default" 1.0; + inherit: "default" 0.0; + image.normal: "meter_10.png"; + } + } + part { name: "status"; type: TEXT; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.1 0.2; + rel2.relative: 0.9 0.4; + color_class: "module_label"; + color3: 255 255 255 255; + text { font: FNBOLD; + fit: 1 1; + ellipsis: -1; + align: 0.5 0.5; + text_class: "module_small"; + } + } + } + part { name: "swap_meter"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + rel1.relative: 0.1 0.5; + rel2.relative: 0.9 0.7; + image.normal: "meter_00.png"; + color: 255 255 255 192; + } + description { state: "default" 0.1; + inherit: "default" 0.0; + image.normal: "meter_01.png"; + } + description { state: "default" 0.2; + inherit: "default" 0.0; + image.normal: "meter_02.png"; + } + description { state: "default" 0.3; + inherit: "default" 0.0; + image.normal: "meter_03.png"; + } + description { state: "default" 0.4; + inherit: "default" 0.0; + image.normal: "meter_04.png"; + } + description { state: "default" 0.5; + inherit: "default" 0.0; + image.normal: "meter_05.png"; + } + description { state: "default" 0.6; + inherit: "default" 0.0; + image.normal: "meter_06.png"; + } + description { state: "default" 0.7; + inherit: "default" 0.0; + image.normal: "meter_07.png"; + } + description { state: "default" 0.8; + inherit: "default" 0.0; + image.normal: "meter_08.png"; + } + description { state: "default" 0.9; + inherit: "default" 0.0; + image.normal: "meter_09.png"; + } + description { state: "default" 1.0; + inherit: "default" 0.0; + image.normal: "meter_10.png"; + } + } + part { name: "swap_status"; type: TEXT; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.1 0.5; + rel2.relative: 0.9 0.7; + color_class: "module_label"; + color3: 255 255 255 255; + text { font: FNBOLD; + fit: 1 1; + ellipsis: -1; + align: 0.5 0.5; + text_class: "module_small"; + } + } + } + } +} + diff --git a/data/elementary/themes/edc/netstatus.edc b/data/elementary/themes/edc/netstatus.edc new file mode 100644 index 0000000..5ad072d --- /dev/null +++ b/data/elementary/themes/edc/netstatus.edc @@ -0,0 +1,119 @@ +group { name: "e/modules/netstatus/main"; + image: "rx.png" COMP; + image: "tx.png" COMP; + image: "idle.png" COMP; + parts { + part { name: "fade_clip"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "rx"; type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "rx.png"; + color: 255 255 255 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 255 255 255 255; + } + } + part { name: "tx"; type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "tx.png"; + color: 255 255 255 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 255 255 255 255; + } + } + part { name: "base"; + clip_to: "fade_clip"; + description { state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image.normal: "idle.png"; + } + } + part { name: "e.text.received"; type: TEXT; mouse_events: 0; + scale: 1; + effect: SHADOW BOTTOM; + clip_to: "fade_clip"; + description { state: "default" 0.0; + color_class: "module_label"; + color3: 255 255 255 255; + rel1.relative: 0.1 0.0; + rel2.relative: 0.9 0.5; + text { font: FNBOLD; + fit: 1 1; + elipsis: -1; + align: 0.5 0.5; + text_class: "module_small"; + } + } + } + part { name: "e.text.transmitted"; type: TEXT; mouse_events: 0; + scale: 1; + effect: SHADOW BOTTOM; + clip_to: "fade_clip"; + description { state: "default" 0.0; + color_class: "module_label"; + color3: 255 255 255 255; + rel1.relative: 0.1 0.5; + rel2.relative: 0.9 1.0; + text { font: FNBOLD; + fit: 1 1; + elipsis: -1; + align: 0.5 0.5; + text_class: "module_small"; + } + } + } + } + programs { + program { name: "received"; + signal: "e,state,received,active"; + source: "e"; + action: STATE_SET "active" 0.0; + target: "rx"; + transition: SINUSOIDAL 0.25; + } + program { name: "received_idle"; + signal: "e,state,received,idle"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "rx"; + transition: SINUSOIDAL 0.25; + } + program { name: "transmitted"; + signal: "e,state,transmitted,active"; + source: "e"; + action: STATE_SET "active" 0.0; + target: "tx"; + transition: SINUSOIDAL 0.25; + } + program { name: "transmitted_idle"; + signal: "e,state,transmitted,idle"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "tx"; + transition: SINUSOIDAL 0.25; + } + } +} + diff --git a/data/elementary/themes/img/cpu_icon.png b/data/elementary/themes/img/cpu_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0a62663d94cf2f05028c669cc73395808f909a32 GIT binary patch literal 1172 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSY)RhkE)2IAW;5iA`F@WFif|Tq zL>4nJa0`PlBg3pY5H=O_J@pY{Ji2O&sM|$g=8~BB1)X|b8}PkN`PDj2Ir#G z#FEq$h4Rdj3s(9z~_&23rK zoA6ET$QKpg;H0cY_g;0noc83i{j%VHlRJN0&)$O97rPC2%u=h!wlTS>VYozEc(%zl z$CSp{vTeq;Ii71859LMuH2hpAJ5wjI?*4ZhwG>qbh6%3M>gxmM%=e0z_T^U0ueY5u zpGQo}DdxNLVe!#dOFVub`lnuYjzQ9$frWvI!Mri{eu#^&>sj5f3k>VxCp`Z3-=Cqn zxxZ}tQk7|sTYVl_ynh#M-Bq^z>9gNeTnk?_MD_Y^E#LmMV&OVHJp)GOnx9wAyJnTD zdfq8z*qPV=uWa?gOBXcT@+YkB=GNk!8?^gsfOVGLevmfJ&eGI>MyvB?Xn&r*ROQ{7 z7nOFbQ`p=ia-F{#&3-4(tQ#jNy}JG82RVhu91RQ(3;ubG9qysLW+F;EPfSj zy=vXPi&1aa&Dy$06UC41+} zJrydLqHM2w`2Y5&v$u!bzopo4xPONA%DvZS?aFs!-4M2W_ALgVyXK3TEKZu&sF&Wa z;CW(;#eQIzAv=d;Zpn{I{jJ=&ul7lb9(bJ|=b6i}?A`1@#wqIRLDCH?f2V~o{A~>= z-fX;5`rn;5Jsa=Kq}|!x26X;aclo#n*^f6#9k@61!JU%G=gUstS@v0ig9ztb$Y!wg z^h?kz_d#t7e?t$9QDYzPK3|Z*(uLxn7ra``CT{hzw9XFzYi;Zg!2`{bd;& z_q=aXADR|TIkIbCN%K{+GhdfV2MLv@ebHe$5jpLcJ6F|qn>9_(Pi#{;{`KjT-&;1; z#cyAoy=IqUUifto$8Vp1-|O%Hjpuj2MDoxiGHGt*vA$1~*TL+em2 z%enUTf!lJ8Ta$xU*66Ell+l0l>xI1uL-eHr!wc%~_bjVYzNEjk^ysIjJU_DBeYckV zyLjrnw$DQe%XRwtGB19eun%IG^yKN1hyNV9#qVDbzyEL5efgZM-Gb$M?96t;Ck|CN z>`8w4RGg{y+rcTv+J8;`t`nx`&FC>H{rQ(5%?r=p`@ekS5!mO;GLvgTvDyYx!bP0l+XkKgec_0 literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/idle.png b/data/elementary/themes/img/idle.png new file mode 100644 index 0000000000000000000000000000000000000000..7c988163af867d5d6400e2dcc5016d949e0a1785 GIT binary patch literal 1264 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 literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_00.png b/data/elementary/themes/img/meter_00.png new file mode 100644 index 0000000000000000000000000000000000000000..2b96666e94907de5369b9f654b96d7fe3171b285 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^IY4Z{!3HG1Xw7#7Qfx`y?k+$Y2!1;6t_M<_1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPtBOAXpgPrD{cR(R+PZ!6Kid%0F8ZrWThZcPG&*kM` d0Ayl-eLR5%42+3~rp^FKdAj*It_v6@HiWFH%;X>AjSt+6_w~p3pCk18d%vAocPNBc+$W$sN zg{0T@nZxyGJ*DH&!6W;x9?}IMhr2P{tKXpwKr{i6!~Nhvc^pz#;Eog@J53iVa_LYqTfH)V@ZH#j5+^Tw-!aebIpoY0_l@p;?!;8W54G%cAXV?2!8M9NGvZ7p*Ta zj6h}sB2dggv?yQ50E7+3<{1Kz1|_RLe1MoH^;xL1mt_J{f0#qbYUB{!Tx=fd%prTl cUu*Qz8_OMZ&H-2EAOHXW07*qoM6N<$f&=NP^#A|> literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_02.png b/data/elementary/themes/img/meter_02.png new file mode 100644 index 0000000000000000000000000000000000000000..533fea6e09a5fa943664575618ff008b94f563a0 GIT binary patch literal 585 zcmV-P0=E5$P)dI1>c>+18o zUjN@8zc?V=#t(3A_&7IpObgR1TS74*7goerk{Dr=5Vpx!kYUbuuI~wj3Sp|iwBa_9 zAaxWG!hC}f1xGbPkwV~m}C0#kYYlzE7K+mn}k@R!&+q$ zsBHDMy&&F@StdfhQ?hLG7L}`JLcE~IN|`Nkim>S+pXL$yM`I2F`Q;C1Tw>5H>#?MM z$JCWWin}bYwYA`x)X`9~qH((+KY|yEOBPGtndd@7+nezYX86Kp$+~+wsEKb=$wHul zsP%;uQXdRK%9aIcnMe0RLECG{-#l5BCn==ZLxB9P5+lYg6m?mw{YCIxX!a2AjNKcl zm_{c(qZ1G{u=$oeq(LEU49~6sDHt|)S>EOjV&Ed9!PKLi!A=Y{esAouvf~n{Ts^Ol ztfxpJ4TMBjL|GY=N}32^nFGk5j|hc?AW#IPkmm@=3>YKx7d8n2^0!Q)lrB?mC|T^T zZ$yw#nA9_;gqCQFg-t@{%hTClIMiu9qmWEV(%+)LXzD|m5mU|gPviv$Lf9tbKt?t9 zyzcANfrE+yp%A7DylpJD5_Bq6*sfRed9V?}e1j1Mp_(#EUqBRsrbI2F1lRaevIZWq zn=yzIm}wVDYf;FM5O=AVyc#7WVGRf=BVl!A$MKy#08}BgfFvt+56Q(-oOchnP@C5xpZ_j(zm1%ud&!7pB=vm&W0XiC=I)4?UY zM;(3zP04~$_gVBsb06X%_ZvfyvZXws28swFX6$u5fyLS-n#Vds=zw?#Oy7VpuX4sP zfk;_wQTN`X253QP}KWWIIUaCLNx%(Cu{P9T!e5+jptyizGybA?QvIxM0dw}%PL zl+|ro=OGaHcO@Uwr0rw%-Z)-Y5dvC5FZG zT@ptzFya!Tf{aNr*o^8bz$or#lc4AdQB{FUU~z+>S+H@tP80S2c;_wvXs9zFT=t@A)ViHUk|27Gqp&t1i$cO;BavM*8J`dc30grJCsLP&9a9B8 zJ|Q#%H-r*eg)1zmu(&=1V&o5_S8y6g8VZbuL!Op&T_tw+8XIzFDr716VRNnPFCchG zRa9(+0KMH#tXc3*^;De2^ghH56c(;K&Mt~h9mRRH?8U-}@6;IuKhQ{EBxLQ*4vvO< z+%8--iII@y_5>Z?D@$ZW%^}^(s??3k30$ZMr_z|tAuu^X$=cC0kAy#s8(kq-GzMY# zRjW1(apu(js4NxKjw3J`)hnHUMeImT2peK`7AB~Xj?DzeTPK~_HyX>NvR7zU2M=UD zrP;UY;_mh^6wPG3%Icao3MpHuE*K`_5LFgQ>aGd`w5>ktw28I#yk|~*18ST=vq_xl zJ>q3A@cv46nh>VG2b`6QEtb0w^Uf~_s_J4BqIwR%n;&tx##!6NlaM;tGy*+?9SBvW z)YVxiXBv!-tGm0>@%*qe`K4_Y`%%bVK(FV8=?26@R;P~Ki6xrv7>#EZ?PYbdgfwL_ z8bh&DR!lY*?+~-%K>`2sC+>{w<7W(4A<3Qb+wEPD3RxYgV?!D3%o?7hq!TZz;|#$6 g*=7f-h1poj507*qoM6N<$f|`Y01^@s6 literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_05.png b/data/elementary/themes/img/meter_05.png new file mode 100644 index 0000000000000000000000000000000000000000..27f3db93a7466269765677fd8b9785c7b89431cd GIT binary patch literal 921 zcmV;K17`e*P)o5#s^SST;ucLP91G>zjD7Tl%0fHiJ;<1CQGpl3;+BFSW^UY`jWCk$%F6oE5;+bXuGM>MA#PSP=~;Wzkg` z+rg@1Qx*k<#fBrDV$vZ3V;zEmfVuEfqntX!qRktvH}_POsn$}W;h9paiNV2Eqvj&23ijV)p=;X4i-s`UO; zdw05nQDBdo^W7p*v9M7o%dH8VmMY&6BCBYqh{UME5W*l;N?{`+oJi~T(grQe;Wf+>@ryM_yWhtXp7=fft=oEEXHGY?0h~Yi;D5MB? zVM3)j?Ks#~ipNSPmDuOV8AyahCpuig@|YGb@t%siTfsJYQhq2nW@TQSp2VNs~WG*jF# zhV@(R1^W9vKDB7N!ZM!0v@Tmw1-$-?rHiMs-Or%=Vz!VuW+b$8me-R;tVZibCtb>e`w%Y=3| vlcJ$ljmD6w8|Un*`owl;3g=hAKjioZ(O>$=26|=s00000NkvXXu0mjfbdsMH literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_06.png b/data/elementary/themes/img/meter_06.png new file mode 100644 index 0000000000000000000000000000000000000000..f6827f9608e6035a9ab821f850ed9247b653695f GIT binary patch literal 1033 zcmV+k1or!hP)o5p}r~BgP$#;BidXbF`e7JiNwo+6z%8vtP7zU@WwX`HjesABB*86++ z`@VfA=kAWZUwe106U?mS8Z4S<_oVb89c4N4XxpKB9I3zQ&HqLM{t0My|INrcPE14wT zjCB_ko){rnROt3VE{v_)enZ&nMw2$vIcZ4*k32$qXLr!qqFe0jmQZSn- zds7g31DV!Wi}S01p9LakXDmaftt6=%Lf9DETQL-h*E%TtDr27(sh;JGGstp6VRhh0 zQcMyeunM-OX-PdR^aSLKJ9HRGAQ85o)Fc8>HY$g7>k$D;+pXv`7DlMCpramNho}(l zI<-PnKpHSG17dNagN<^C)#viG5Uci8f}oo@j7IY)aZyEaSV2i9QxE~MI-a{L_frbc)be6m?*bIysTK5LC@sTkVR_((o*#YLSz*UQoleP*AI!dG*N_sbk#)i0wWq%vxiBNQ;2 z)x`H*H0@|?)@xafv5v_hE77+yiNnplMrAZw_)#5eoOB}afECkGP@s|Mpn@gs!)U5Q ztlp|agBqYy!#F7>CEfu0QxRfVyjl6;0@9PHl5mzY1ZlW5eANkMK?2gab=Gq2tiv*Z z&9Uy%JwV@`<#eM$|=B zf2Y?!T7EZh3Yqm)t|4o?s+EcsYwt>bupdH=<&E4?LCylweZs z9Z%$RT1SnMPSh}_fMFa|>25$;NAsd@UwJBIb>73M^si12gc?`}HO?scJ>&hSuLuw< z&y1SUU;4IHrXWAsA-i=;pVHUUj-Ox;Boi`8?J_Dty1njBySDqfw3Ii)tp59lo-;TPM4(J({NI3(nD-d)I^5IApMN!UP5eNVP-`h8Ucz^GH zuiJNV?(W$2+PiB-a%~pZ&F=lVKZ<)U`(A(W!iCQl@E&M<7~^xp@?CA!vE1AP$@yw5 z+#HAEnk>%Cu6yb8uS2jrKok$2ZA{KrP7K2tyD@x@SvecR`9IgeO@~xQMl#@PR%ZrA zay$(OMKMXZ8S5GqNbXfRenf;+QLzq`!q`~$(}cZlG+{H&>>QZUc{M_4K6o|bnHY)2 zOh;jm%0>JA>Sv!22LG>ufjokJSX zgtzQInCOrb9A_i+t7w5an^ok5$XP1-#yG^~{1EUHM&#^_Mbl|fBz2k)HaxL^mDt>2 zMNT4xD9l34=x&j^gU20d;Eba146;~ISR6RgDJC5v5Q43(kx9d$BOC%jK~W@UZW22W z@cN`CfdOSGsQ0)W(yd1nTLJnNeZ|6@j4 z8PSnf>hT~KboMDhkj)%+T9aT>rLN$IVxOX_5K3zWCwMqXP&m-l#jZe>(u3HP;7??X zOk!suR(1&k1&oe~5Z6#>>~|mqNu`eBcZcpqBK5e%>?qoc#*A09ltq5vp#$Bf8H(D7 z^K`7dAHqYt4xt!3%B>?_Di-Fj!b(5mZOC$K0;i?Q2STKZ2B2Rcy7frbl)F|KqA-Yp z6gJ_*Wk&H!8%1M}1?(O*yMXyC4r#+`nH3q>%Gcbj7!=pDhb@G#UJ8HA|Ys890>;4OBjCez3W z=~m1%AxtT?G$9T`M`LoX(}5hJ_5%JYk|)vz8c~R literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_08.png b/data/elementary/themes/img/meter_08.png new file mode 100644 index 0000000000000000000000000000000000000000..e24c4795277ee600c4ba7ba006ea58d3f71fe86c GIT binary patch literal 1267 zcmV*$`!)ao1b|6I zK~#9!#az*D+dvFs_y3==Uo5qUbwKK!MDm<-0|Z?H$39CZilXFwRG|O>{Ca-^sIR}P z&)4_o@Y~g~*K@DVRn56MoVUC7>-RNWlj1&_<34`l18;o&0=_O@FUEL%hc}LvXo)8g9IMv-!PpVj0d@t>Jae%GnUk$BUs? z*XH6}Z+FOKWHbw&c6Dc9G{@6$Pz{@ei?v>(0?oCQH8?A&VB&-jHW%zlz<`kiC&mjtrue+YY05pv>!JR`I5W-sx&@(xLLk>FTkR2SS84)U? z+(b%a7dvdpaUh2XI36J`=ZAowG9qVXESgTMA*s`Zuq3gsqMoOddI|4Wh}SNwp$RX% zQKYWmaYY(dHB6V=@Kg>-49@{~Q%AZ?Mj1=dS2R06f#^q*`c&w_kQuJfK|=!RZfd6{ zfdOS0sCPoM`9uy$>k-9PfV`rgSeRoh2X<)?69#qDkvarIU`uKRl^iDqMuS-F=wK=@ z(S#}fRHa@wazXN)5(F9Mu-%#jX5`}uElVwe;yXoEA(Yk$PH=ORU~pgpg%3z3-yuus zK@27M9T}sO*f~fT31Ogs(F6u@GD2KKA^6^b6f~7OhR+Gz?IaJ}h&HE+KSFyE?05!? z@91OdK(}c&34;t_adPVMeh6>uAcV$3P$ar6%wdHPjVC2G9&<=i6F4nZ-Vh>HGyr*l z=++}i7x8F>bnFH}PGAThE;Fh(y=f$7H#a^azr)N46RmZ`JqAvJDelp%Gho&o6M;Bf zrT^bCEHk+(y(*PqXkKq}Jc6XmA$s`JN!_UvRE~hr>P+#SjY6v?K+0IF>W^?}dL2*d z4vsp52}*O?aj;wXB|UPQJ&yVr*!mTTeGYF&Q=mD~ks4I>VRjUSX~=_5vaDq4kVXxV zb{nTk*lmFAFf*7842?E+oMoxvjhKfEc6t&MWVo%=lzAniKF$!~+mkv1+*Q(e(r<7y zv_$Z8p$i6lI{MvlmW4Njx{^T@&%c{j0B_h~+Dw2qQ}Aenq!lww2vbTeO^9~)S(a?4J_Kia}gn@+@@JmU6TcI0%Yj&iDT1ih0-9@xPK_M>4c zz&y{J_O+d<6vd33jpu9>J_%XLa~MkhN_rr!fq}fnamCN1pTd)n1+z=&J|f^^c?p{9 zTpvNl(VdEPrv8uBA*({?E`8nY_`&RfI9)$io^j@xIjre;grvRhq+OdnF0GnjG?H#Q zGY05K`mVY1(WH(IX0+2abdxrkNJ<^;Y@UgJAD2#?=ePm?VVfPOa{h+~-f*&_uM??( d*dT9u{Q(a+7gPK4{9FJ4002ovPDHLkV1k_JKR*Bf literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_09.png b/data/elementary/themes/img/meter_09.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc89801eb205823af1d396d23a4213a5a411c41 GIT binary patch literal 1354 zcmV-Q1-1H#P)?ZKM0e|mr(uO)p{C4kYBz_H7EP!v^}uXA)HN&Y#$C7qwY zZ||SSck|u1bD!6KyVfbL?dH1Gy?=jxntOV9j_={whjo7at1p4qKhn?5&o5*AKJ@t8 z9o@Npxrd7HPiyhZd1|id=6ln1|NL8z^ZatJ>bxWT`r9FTJiuulygFQbe{$jh&UjnH z?=?@(*5G^YKtT@ajI3h8T~t>FR&l<8gH979ep%}?D^%QTa(s23i_cX! z)!Pi|vO~z_sCMe%B1v$j-$2KwFAHU-eQ?n6#!cn<|m%WEEp`&Le0 zRYZOQ(F*I;M{0-wCqGT}85H;lUpGC80F-HH=qSye>YZ*O%g}HMTaogPzGGp;SOj(r zh>3%~X<}(BElY#Imh=i!aqJkF0kPQVU{hT(geixl#+w>q^I z%vTer28gl}7d148Cn)MwZ4jiTx(pIE4osjh>3zCq!H_lSK@KJOjf_!A>~18CgfMu3 z(F6twIaoJ_)KCgOCy=6|Q&;mop}Upjp^I!g7lC<2dlf{ymy351wG<+VVY-NQ2#Xf) zJC@l|&qI6>K?;qfph=|ALHh!SK}MQN-)2bC6OfUrFNDY`8xr}Oh=-f;@x;omYe>fk zXiabkACwuL4;>z|OF?ZU+3aSM1g5>DCUmrxhgVSEVwH;r%+tD=5ka(M*fFfCw9B$Yj*1MhJ{LQ+#)!(0Z7)9I)1DKH{PAOO)x= z2zSC!vN2&|7#jyWEaFsOqcaYR_haOlW9dZT0R^MNKx(-)=ro7X1qtZ(kP)@`T7FM< z9UAli>9kSJJev-{Hq1E%b z+?`T2nKuv(EfM@EbP2#G(eLQAbIr2!fmBZ$r!Go2b%n^{9)gL`*=ddbbcUoIvmt~{ zO_d?UkpYsyCW+1FI=W5vYS)Q^T_iWshJviCqWoMKkJbx^HIFzamfy+ZNz^BiRKez? zoEnaI1u}7hV26RWDCpTdgc{2)a>oQY2T1oCG^5H9zv#s$?qfRVg(RJ2QBuqhH`}KW%MYBsB|u$ z{3wSEt^^s8n_}%nozn)gw1A{^;+OU=0>dzaqMPm+>-GxhrB)^*hmRC>Ett_}YDkN= zicCr!O@hZ_8_Nv>WTj;pvKZ@r=CJ)A8hqho4Yaf)H39>x3D&^tKkHw4%bTG@O#lD@ M07*qoM6N<$g3%#ySO5S3 literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/meter_10.png b/data/elementary/themes/img/meter_10.png new file mode 100644 index 0000000000000000000000000000000000000000..bec3df6b0fe6d07cafe58a6f3ae8f1a2ca800ed5 GIT binary patch literal 1440 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 P00000NkvXXu0mjfw<9xz literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/tx.png b/data/elementary/themes/img/tx.png new file mode 100644 index 0000000000000000000000000000000000000000..46d355d0cfbb8b542224c4a185ec99fa7e9674dd GIT binary patch literal 1110 zcmV-c1gZOpP)FV000CXNkl;K%7$6h zUEOR02M!!KaNxj!0|yQqIPgD3^Q%7~%<2AJit)w$zb+vHO%wc&A7EoZ^NcW#2-5^V zj#wTaLB@cLfnOH*WdS*dzdwCy0HE758m|$*UrPvJtr49=czS{mAv%ZXJ)-wuYe8BA z0N6PMV?fS01^Udp21q@%NVdRNHHReBlMRq2=fd-P4LqMH%$n} zfW3dQ_b&^O5MCw!BJxCFtwGa-=p1OCLCXS~X8=Gu3^+YJfV4(f7Px7Gn`cBKBoS~3 zh|Ir7z-#xdW$N7+gmKIn*jT327RXxIafH_z-WV_uBu2zNE%dX<-wO~TL~EbzqBUq) z^81bFqxTSI2oZ!C!@~povcOIgLC=h|WPmsGg7BSJGh|L0W^fh9Ae;CfT`6vIq&r zAQ*$lj3k177?4uhw+l(xEXA1Hptbq#TozMovUZy2eJ;>xLRgmEB9{eZEn)~@?-7Zf zFXl=(iJA%L8_@qVM!eggdUdP6#iRFd0B zZAC~S(GF4FSZeKuD6teH`J3TTHRZ(b}@g(#I%zpaDfb16l+b{t`@RuX13 zN}<18ZX(_GJ$mm!&LKFrqk!}IIkjzz=v=;U<{7pYWXuiGHKMV!VcA$DiB$hLN}=uh zO!jobA8+60qW=7O9|4V0P-TPa~P_fOrS<|)H_XTxp+zJB}&cfG;3!cS=IMoYvHE}%h#`P(*$$9!W#ppHDs-olx~E?7$F