diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 7538b1248..ce07153ec 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -28,6 +28,7 @@ edc/colorwell.edc \ edc/comp.edc \ edc/conf.edc \ edc/connman.edc \ +edc/cpufreq.edc \ edc/cslider.edc \ edc/desklock.edc \ edc/deskpreview.edc \ @@ -209,6 +210,9 @@ img/horizontal_separated_bar_small_glow.png \ img/ic_win_move.png \ img/ic_win_resize.png \ img/inset_circle_tiny.png \ +img/inset_round_hilight.png \ +img/inset_round_shading.png \ +img/inset_round_shadow.png \ img/inset_shadow_circle_tiny.png \ img/inset_shadow.png \ img/inset_shadow_tiny.png \ @@ -300,6 +304,12 @@ img/sym_up_dark_selected.png \ img/sym_up_glow_normal.png \ img/sym_up_light_normal.png \ img/sym_up_light_selected.png \ +img/tacho_base.png \ +img/tacho_hand_big.png \ +img/tacho_hand_big_shadow.png \ +img/tacho_hand_small_max.png \ +img/tacho_hand_small_min.png \ +img/tacho_hand_small_shadow.png \ img/vert_bar_inset.png \ img/vert_glow_run.png \ img/vertical_separated_bar_glow.png \ diff --git a/data/themes/default.edc b/data/themes/default.edc index a0943afd4..8cf8c40d6 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -52,13 +52,13 @@ collections { #include "edc/edgebindings.edc" #include "edc/randr.edc" #include "edc/notification.edc" +#include "edc/cpufreq.edc" // port unchanged stuff so this can work as a replacement #include "edc/O/backlight.edc" #include "edc/O/battery.edc" #include "edc/O/border_icons.edc" #include "edc/O/conf_gad.edc" -#include "edc/O/cpufreq.edc" #include "edc/O/efm_icons.edc" #include "edc/O/evrything.edc" #include "edc/O/icons.edc" @@ -66,6 +66,7 @@ collections { #include "edc/O/mixer.edc" #include "edc/O/temperature.edc" #include "edc/O/wallpaper.edc" +//#include "edc/O/cpufreq.edc" //#include "edc/O/gadman.edc" //#include "edc/O/randr.edc" //#include "edc/O/edgebindings.edc" diff --git a/data/themes/edc/cpufreq.edc b/data/themes/edc/cpufreq.edc new file mode 100644 index 000000000..41ba5f231 --- /dev/null +++ b/data/themes/edc/cpufreq.edc @@ -0,0 +1,357 @@ +group { name: "e/modules/cpufreq/main"; + images.image: "tacho_base.png" COMP; + images.image: "inset_round_hilight.png" COMP; + images.image: "inset_round_shadow.png" COMP; + images.image: "inset_round_shading.png" COMP; + set { name: "tacho_hand_big"; + image { image: "tacho_hand_big.png" COMP; size: 73 73 99999 99999; } + image { image: "tacho_hand_big2.png" COMP; size: 37 37 72 72; } + image { image: "tacho_hand_big3.png" COMP; size: 19 19 36 36; } + image { image: "tacho_hand_big4.png" COMP; size: 0 0 18 18; } + } + images.image: "tacho_hand_big_shadow.png" COMP; + set { name: "tacho_hand_small_max"; + image { image: "tacho_hand_small_max.png" COMP; size: 73 73 99999 99999; } + image { image: "tacho_hand_small_max2.png" COMP; size: 37 37 72 72; } + image { image: "tacho_hand_small_max3.png" COMP; size: 19 19 36 36; } + image { image: "tacho_hand_small_max4.png" COMP; size: 0 0 18 18; } + } + set { name: "tacho_hand_small_min"; + image { image: "tacho_hand_small_min.png" COMP; size: 73 73 99999 99999; } + image { image: "tacho_hand_small_min2.png" COMP; size: 37 37 72 72; } + image { image: "tacho_hand_small_min3.png" COMP; size: 19 19 36 36; } + image { image: "tacho_hand_small_min4.png" COMP; size: 0 0 18 18; } + } + images.image: "tacho_hand_small_shadow.png" COMP; + set { name: "knob"; + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } + min: 16 16; + max: 160 160; + script { + public available_frequencies; + public available_governors; + + public cur_freq_old; + public cur_freq_new; + public cur_freq_now; + public cur_freq_anim; + + public min_freq_old; + public min_freq_new; + public min_freq_now; + + public max_freq_old; + public max_freq_new; + public max_freq_now; + + public slide_cur_freq(val, Float:v) { + new Float:freq, Float:min_freq, Float:max_freq, Float:tf; + new f, f0, f1; + + v = (1.0 - cos(v * 3.141592654)) / 2.0; + + min_freq = fetch_int(available_frequencies, 0); + max_freq = fetch_int(available_frequencies, + count(available_frequencies) - 1); + + f0 = get_int(cur_freq_old); + f1 = get_int(cur_freq_new); + f = f1 - f0; + freq = float(f) * v; + f = round(freq); + f = f + f0; + set_int(cur_freq_now, f); + + freq = (float(f) - min_freq) / (max_freq - min_freq); + tf = (freq * 225.0) - 135.0; + custom_state(PART:"meter", "default", 0.0); + set_state_val(PART:"meter", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter", "custom", 0.0); + custom_state(PART:"meter_sh", "default", 0.0); + set_state_val(PART:"meter_sh", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter_sh", "custom", 0.0); + + f0 = get_int(min_freq_old); + f1 = get_int(min_freq_new); + f = f1 - f0; + freq = float(f) * v; + f = round(freq); + f = f + f0; + set_int(min_freq_now, f); + + freq = (float(f) - min_freq) / (max_freq - min_freq); + tf = (freq * 225.0) - 135.0; + custom_state(PART:"meter_min", "default", 0.0); + set_state_val(PART:"meter_min", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter_min", "custom", 0.0); + custom_state(PART:"meter_min_sh", "default", 0.0); + set_state_val(PART:"meter_min_sh", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter_min_sh", "custom", 0.0); + + f0 = get_int(max_freq_old); + f1 = get_int(max_freq_new); + f = f1 - f0; + freq = float(f) * v; + f = round(freq); + f = f + f0; + set_int(max_freq_now, f); + + freq = (float(f) - min_freq) / (max_freq - min_freq); + tf = (freq * 225.0) - 135.0; + custom_state(PART:"meter_max", "default", 0.0); + set_state_val(PART:"meter_max", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter_max", "custom", 0.0); + custom_state(PART:"meter_max_sh", "default", 0.0); + set_state_val(PART:"meter_max_sh", STATE_MAP_ROT_Z, tf); + set_state(PART:"meter_max_sh", "custom", 0.0); + + if (v >= 1.0) { + set_int(cur_freq_anim, 0); + return 0; + } + return 1; + } + + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 1)) { // add an available freq + while (count(available_frequencies) > 0) { + remove(available_frequencies, 0); + } + for (new i = 2; i < numargs(); i++) { + append_int(available_frequencies, getarg(i)); + } + } + else if ((type == MSG_STRING_SET) && (id == 2)) { // add a governor + new text[100]; + while (count(available_governors) > 0) { + remove(available_governors, 0); + } + for (new i = 2; i < numargs(); i++) { + snprintf(text, 100, "%s", getarg(i)); + append_str(available_governors, text); + } + } else if ((type == MSG_INT_SET) && (id == 3)) { // avg freq + new f; + new ani, curf, minf, maxf; + new text[100]; + + f = getarg(2); + if (f < 1000000) { + f += 500; + snprintf(text, 100, "%i", f / 1000); + } else { + f += 50000; + snprintf(text, 100, "%i.%i", f / 1000000, + (f % 1000000) / 100000); + } + set_text(PART:"readout", text); + + ani = get_int(cur_freq_anim); + if (ani > 0) cancel_anim(ani); + ani = anim(1.0, "slide_cur_freq", 0); + set_int(cur_freq_anim, ani); + + f = getarg(2); + curf = get_int(cur_freq_now); + set_int(cur_freq_old, curf); + set_int(cur_freq_new, f); + + f = getarg(4); + minf = get_int(min_freq_now); + set_int(min_freq_old, minf); + set_int(min_freq_new, f); + + f = getarg(5); + maxf = get_int(max_freq_now); + set_int(max_freq_old, maxf); + set_int(max_freq_new, f); + } else if ((type == MSG_STRING) && (id == 4)) { + new text[100]; + snprintf(text, 100, "%s", getarg(2)); + } + } + } + parts { + part { name: "fade_clip"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "faded" 0.0; + color: 255 255 255 128; + } + } + part { name: "base-sh"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 0 -1; + rel2.to: "base"; + rel2.offset: -1 -2; + image.normal: "inset_round_shadow.png"; + } + } + part { name: "base-hi"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 0 1; + rel2.to: "base"; + rel2.offset: -1 0; + image.normal: "inset_round_hilight.png"; + } + } + part { name: "base"; + description { state: "default" 0.0; + rel1.relative: (25/380) (25/380); + rel2.relative: (365/380) (365/380); + aspect: 1.0 1.0; aspect_preference: BOTH; + image.normal: "tacho_base.png"; + } + } + part { name: "readout"; type: TEXT; mouse_events: 0; + scale: 1; + effect: SHADOW BOTTOM; + clip_to: "fade_clip"; + description { state: "default" 0.0; + rel1.to: "knob2"; + rel1.relative: 1.0 1.0; + rel1.offset: -2 -2; + rel2.relative: 0.75 0.75; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "module_label"; + text { font: "Sans:style=Bold"; size: 6; + min: 1 1; + text_class: "module_small"; + } + } + } + part { name: "meter_min_sh"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0; + image.normal: "tacho_hand_small_shadow.png"; + rel1.to: "meter_sh"; + rel2.to: "meter_sh"; + map { + on: 1; + rotation.center: "meter_min_sh"; + } + } + } + part { name: "meter_min"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0; + image.normal: "tacho_hand_small_min"; + rel1.to: "base"; + rel2.to: "base"; + map { + on: 1; + rotation.center: "base"; + } + } + } + part { name: "meter_max_sh"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0; + image.normal: "tacho_hand_small_shadow.png"; + rel1.to: "meter_sh"; + rel2.to: "meter_sh"; + rel2.relative: 1.0+(2.0/64.0) 1.0+(2.0/64.0); + map { + on: 1; + rotation.center: "meter_max_sh"; + } + } + } + part { name: "meter_max"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0; + image.normal: "tacho_hand_small_max"; + rel1.to: "base"; + rel2.to: "base"; + map { + on: 1; + rotation.center: "base"; + } + } + } + part { name: "meter_sh"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0; + image.normal: "tacho_hand_big_shadow.png"; + rel1.to: "meter"; + rel1.relative: 0.0 (15/380); + rel1.offset: 0 1; + rel2.to: "meter"; + rel2.relative: 1.0 (395/380); + rel2.offset: -1 0; + map { + on: 1; + rotation.center: "meter_sh"; + } + } + } + part { name: "meter"; mouse_events: 0; + clip_to: "fade_clip"; + description { state: "default" 0.0000; + image.normal: "tacho_hand_big"; + rel1.to: "base"; + rel2.to: "base"; + map { + on: 1; + rotation.center: "base"; + } + } + } + part { name: "over"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "inset_round_shading.png"; + } + } + part { name: "knob"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: (140/340) (140/340); + rel1.to: "base"; + rel2.relative: (205/340) (205/340); + rel2.to: "base"; + min: 4 4; + step: 2 2; + max: 24 24; + } + } + part { name: "knob2"; + description { state: "default" 0.0; + rel1.offset: -4 -4; + rel1.to: "knob"; + rel2.offset: 3 3; + rel2.to: "knob"; + min: 12 12; + max: 32 32; + image.normal: "knob"; + } + } + } + programs { + program { + signal: "e,state,enabled"; source: "e"; + action: STATE_SET "default" 0.0; + target: "fade_clip"; + } + program { + signal: "e,state,disabled"; source: "e"; + action: STATE_SET "faded" 0.0; + target: "fade_clip"; + } + } +} diff --git a/data/themes/img/inset_round_hilight.png b/data/themes/img/inset_round_hilight.png new file mode 100644 index 000000000..769617508 Binary files /dev/null and b/data/themes/img/inset_round_hilight.png differ diff --git a/data/themes/img/inset_round_shading.png b/data/themes/img/inset_round_shading.png new file mode 100644 index 000000000..429f073cc Binary files /dev/null and b/data/themes/img/inset_round_shading.png differ diff --git a/data/themes/img/inset_round_shadow.png b/data/themes/img/inset_round_shadow.png new file mode 100644 index 000000000..5dd3b0cec Binary files /dev/null and b/data/themes/img/inset_round_shadow.png differ diff --git a/data/themes/img/tacho_base.png b/data/themes/img/tacho_base.png new file mode 100644 index 000000000..268f83ebe Binary files /dev/null and b/data/themes/img/tacho_base.png differ diff --git a/data/themes/img/tacho_hand_big.png b/data/themes/img/tacho_hand_big.png new file mode 100644 index 000000000..cf12373e4 Binary files /dev/null and b/data/themes/img/tacho_hand_big.png differ diff --git a/data/themes/img/tacho_hand_big2.png b/data/themes/img/tacho_hand_big2.png new file mode 100644 index 000000000..b62751c3a Binary files /dev/null and b/data/themes/img/tacho_hand_big2.png differ diff --git a/data/themes/img/tacho_hand_big3.png b/data/themes/img/tacho_hand_big3.png new file mode 100644 index 000000000..8d468b07e Binary files /dev/null and b/data/themes/img/tacho_hand_big3.png differ diff --git a/data/themes/img/tacho_hand_big4.png b/data/themes/img/tacho_hand_big4.png new file mode 100644 index 000000000..50ac68933 Binary files /dev/null and b/data/themes/img/tacho_hand_big4.png differ diff --git a/data/themes/img/tacho_hand_big_shadow.png b/data/themes/img/tacho_hand_big_shadow.png new file mode 100644 index 000000000..ff70bd351 Binary files /dev/null and b/data/themes/img/tacho_hand_big_shadow.png differ diff --git a/data/themes/img/tacho_hand_small_max.png b/data/themes/img/tacho_hand_small_max.png new file mode 100644 index 000000000..b014d1540 Binary files /dev/null and b/data/themes/img/tacho_hand_small_max.png differ diff --git a/data/themes/img/tacho_hand_small_max2.png b/data/themes/img/tacho_hand_small_max2.png new file mode 100644 index 000000000..24fc37ade Binary files /dev/null and b/data/themes/img/tacho_hand_small_max2.png differ diff --git a/data/themes/img/tacho_hand_small_max3.png b/data/themes/img/tacho_hand_small_max3.png new file mode 100644 index 000000000..9a0018284 Binary files /dev/null and b/data/themes/img/tacho_hand_small_max3.png differ diff --git a/data/themes/img/tacho_hand_small_max4.png b/data/themes/img/tacho_hand_small_max4.png new file mode 100644 index 000000000..08b60047d Binary files /dev/null and b/data/themes/img/tacho_hand_small_max4.png differ diff --git a/data/themes/img/tacho_hand_small_min.png b/data/themes/img/tacho_hand_small_min.png new file mode 100644 index 000000000..1371999dd Binary files /dev/null and b/data/themes/img/tacho_hand_small_min.png differ diff --git a/data/themes/img/tacho_hand_small_min2.png b/data/themes/img/tacho_hand_small_min2.png new file mode 100644 index 000000000..5d3bc1447 Binary files /dev/null and b/data/themes/img/tacho_hand_small_min2.png differ diff --git a/data/themes/img/tacho_hand_small_min3.png b/data/themes/img/tacho_hand_small_min3.png new file mode 100644 index 000000000..2e11a0dc0 Binary files /dev/null and b/data/themes/img/tacho_hand_small_min3.png differ diff --git a/data/themes/img/tacho_hand_small_min4.png b/data/themes/img/tacho_hand_small_min4.png new file mode 100644 index 000000000..3700d5c05 Binary files /dev/null and b/data/themes/img/tacho_hand_small_min4.png differ diff --git a/data/themes/img/tacho_hand_small_shadow.png b/data/themes/img/tacho_hand_small_shadow.png new file mode 100644 index 000000000..bf4e379cf Binary files /dev/null and b/data/themes/img/tacho_hand_small_shadow.png differ