aboutsummaryrefslogtreecommitdiff
path: root/terminology_segfault_theme/default.edc
diff options
context:
space:
mode:
authortoni <matzeton@googlemail.com>2016-07-11 18:38:59 +0200
committertoni <matzeton@googlemail.com>2016-07-11 18:38:59 +0200
commit316a392e3cc9a454f6b5f0f8e9ac2f8c798ccd35 (patch)
tree85407fd6253af88e5290152cf90f67b6540a56e3 /terminology_segfault_theme/default.edc
parent82e3ddce6c28efef6b292fef6c1636bc73831d04 (diff)
added terminology theme
Diffstat (limited to 'terminology_segfault_theme/default.edc')
-rw-r--r--terminology_segfault_theme/default.edc3711
1 files changed, 3711 insertions, 0 deletions
diff --git a/terminology_segfault_theme/default.edc b/terminology_segfault_theme/default.edc
new file mode 100644
index 0000000..66970b2
--- /dev/null
+++ b/terminology_segfault_theme/default.edc
@@ -0,0 +1,3711 @@
+#ifndef NO_COLORS
+color_classes {
+# include "default_colors.in.edc"
+# define BG_COL 32 32 32 255
+}
+#endif
+
+collections {
+
+ group { name: "terminology/miniview";
+ images {
+ image: "icon_close.png" COMP;
+ image: "fn_shadow.png" COMP;
+ }
+ set { name: "bg_shadow";
+ image { image: "bg_shadow.png" COMP; size: 0 0 200 150; }
+ image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; }
+ image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; }
+ }
+ parts {
+ part { name: "miniview.bg"; type: RECT;
+ //mouse_events: 1;
+ description { state: "default" 0.0;
+ color: BG_COL;
+ }
+ }
+ part { name: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bg_shadow";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "miniview.img"; type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to: "miniview.bg";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "miniview.bg";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "miniview_screen"; type: RECT;
+ mouse_events: 1;
+ dragable {
+ confine: "miniview.img";
+ x: 0 0 0;
+ y: 1 1 0;
+ }
+ description { state: "default" 0.0;
+ color: 255 255 255 40;
+ fixed:1 1;
+ }
+ description { state: "outbounds" 0.0;
+ color: 255 25 35 40;
+ fixed:1 1;
+ }
+ }
+ part { name: "miniview.close_shadow"; type: IMAGE;
+ description { state: "default" 0.0;
+ image {
+ normal: "fn_shadow.png";
+ };
+ rel1 {
+ to: "miniview.bg";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "miniview.bg";
+ relative: 0.0 0.0;
+ offset: 16 16;
+ }
+ }
+ }
+ part { name: "miniview.close"; type: IMAGE;
+ description { state: "default" 0.0;
+ image {
+ normal: "icon_close.png";
+ };
+ rel1.to: "miniview.close_shadow";
+ rel2.to: "miniview.close_shadow";
+ }
+ }
+ };
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "miniview.close";
+ action: SIGNAL_EMIT "miniview,close" "terminology";
+ }
+ program {
+ signal: "miniview_screen,inbounds"; source: "miniview";
+ action: STATE_SET "default" 0.0;
+ target: "miniview_screen";
+ }
+ program {
+ signal: "miniview_screen,outbounds"; source: "miniview";
+ action: STATE_SET "outbounds" 0.0;
+ target: "miniview_screen";
+ }
+ };
+ };
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// the background and general container for the terminal
+ group { name: "terminology/core";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ new r, g, b, a, v;
+
+ if ((type != MSG_INT) || (id != 1)) return;
+
+ v = (getarg(2) * 255) / 100;
+
+ custom_state(PART:"fade", "default", 0.0);
+ get_state_val(PART:"fade", STATE_COLOR, r, g, b, a);
+ set_state_val(PART:"fade", STATE_COLOR, r, g, b, v);
+ set_state(PART:"fade", "custom", 0.0);
+ }
+ }
+ parts {
+ ////////////////////////////////////////////////////////////////////
+ // background handling
+ part { name: "fade"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "terminology.background"; type: SWALLOW;
+ clip_to: "fade";
+ description { state: "default" 0.0;
+ }
+ description { state: "image" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "scale" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "edje" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "movie" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ program {
+ signal: "media,off"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "terminology.background";
+ }
+ program {
+ signal: "media,image"; source: "terminology";
+ action: STATE_SET "image" 0.0;
+ target: "terminology.background";
+ }
+ program {
+ signal: "media,scale"; source: "terminology";
+ action: STATE_SET "scale" 0.0;
+ target: "terminology.background";
+ }
+ program {
+ signal: "media,edje"; source: "terminology";
+ action: STATE_SET "edje" 0.0;
+ target: "terminology.background";
+ }
+ program {
+ signal: "media,movie"; source: "terminology";
+ action: STATE_SET "movie" 0.0;
+ target: "terminology.background";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // actual text grid for chars, cursors, selectiond etc. goes here
+ part { name: "terminology.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+
+ }
+ }
+
+ //// the background and general container for the terminal
+ group { name: "terminology/background";
+ images {
+ image: "bg_bevel.png" COMP;
+ image: "bg_shine.png" COMP;
+ image: "bg_glint.png" COMP;
+ image: "bg_glow_in.png" COMP;
+ image: "bg_led_glow.png" COMP;
+ image: "bg_led_base.png" COMP;
+ image: "bg_led.png" COMP;
+ image: "bg_led_strobe.png" COMP;
+ image: "pm_shadow.png" COMP;
+ image: "pm_overlay.png" COMP;
+ image: "pm_fill.png" COMP;
+ image: "cr_glow.png" COMP;
+ }
+ set { name: "bg_shadow";
+ image { image: "bg_shadow.png" COMP; size: 0 0 200 150; }
+ image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; }
+ image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; }
+ }
+ sounds {
+ sample { name: "bell" LOSSY 64;
+ source: "bell.wav";
+ }
+ }
+ script {
+ public message(Msg_Type:type, id, ...) {
+ new r, g, b, a, v;
+
+ if ((type != MSG_INT) || (id != 1)) return;
+
+ v = (getarg(2) * 255) / 100;
+
+ custom_state(PART:"shadow", "default", 0.0);
+ get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a);
+ set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v);
+ set_state(PART:"shadow", "custom", 0.0);
+
+ custom_state(PART:"base", "default", 0.0);
+ get_state_val(PART:"base", STATE_COLOR, r, g, b, a);
+ set_state_val(PART:"base", STATE_COLOR, r, g, b, v);
+ set_state(PART:"base", "custom", 0.0);
+ }
+ }
+ parts {
+ ////////////////////////////////////////////////////////////////////
+ // background handling
+ part { name: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bg_shadow";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "base"; type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: BG_COL;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // actual text grid for chars, cursors, selectiond etc. goes here
+ // and has a background layered behind it inside the swallowed
+ // child edje
+ part { name: "terminology.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // indicator of other tabs and control
+ part { name: "tabcount_clip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "terminology.tabmissed.label"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.tabcount.label";
+ rel2.to: "terminology.tabcount.label";
+ rel1.offset: -4 0;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -5 -1;
+ color: 255 153 51 64;
+ color2: 255 51 0 18;
+ color3: 255 0 0 8;
+ align: 1.0 0.5;
+ text { font: "Sans"; size: 8;
+ align: 1.0 0.5;
+ min: 1 1;
+ ellipsis: 0;
+ }
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 64 255;
+ color2: 255 153 51 128;
+ color3: 255 0 0 20;
+ }
+ }
+ part { name: "terminology.tabcount.label"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ rel1.relative: -0.2 0.0;
+ rel2.relative: -0.2 1.0;
+ color: 51 153 255 64;
+ color2: 51 153 255 18;
+ color3: 51 153 255 8;
+ align: 1.0 0.5;
+ text { font: "Sans"; size: 8;
+ align: 1.0 0.5;
+ min: 1 1;
+ ellipsis: 0;
+ }
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ color2: 51 153 255 128;
+ color3: 51 153 255 20;
+ }
+ }
+ part { name: "tabcount_glow_r0";
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "tabcount_r0";
+ rel2.to: "tabcount_r0";
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "tabcount_glow_r1";
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "tabcount_r1";
+ rel2.to: "tabcount_r1";
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "tabcount_glow_r2";
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "tabcount_r2";
+ rel2.to: "tabcount_r2";
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "tabcount_glow_r3";
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "tabcount_r3";
+ rel2.to: "tabcount_r3";
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "tabcount_r0"; type: RECT;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ rel1.relative: 0.05 0.05;
+ rel2.relative: 0.45 0.45;
+ color: 255 255 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "tabcount_r1"; type: RECT;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ rel1.relative: 0.55 0.05;
+ rel2.relative: 0.95 0.45;
+ color: 255 255 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "tabcount_r2"; type: RECT;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ rel1.relative: 0.05 0.55;
+ rel2.relative: 0.45 0.95;
+ color: 255 255 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "tabcount_r3"; type: RECT;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ rel1.relative: 0.55 0.55;
+ rel2.relative: 0.95 0.95;
+ color: 255 255 255 32;
+ }
+ description { state: "over" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "terminology.tabcount.control"; type: SWALLOW;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -3 2;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -3 2;
+ align: 1.0 0.0;
+ min: 16 16;
+ }
+ }
+ part { name: "tabcount_ev"; type: RECT; repeat_events: 1;
+ clip_to: "tabcount_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.tabcount.control";
+ rel2.to: "terminology.tabcount.control";
+ color: 0 0 0 0;
+ }
+ }
+
+ program {
+ signal: "mouse,in"; source: "tabcount_ev";
+ action: STATE_SET "over" 0.0;
+ transition: DECELERATE 0.5;
+ target: "tabcount_r0";
+ target: "tabcount_r1";
+ target: "tabcount_r2";
+ target: "tabcount_r3";
+ target: "tabcount_glow_r0";
+ target: "tabcount_glow_r1";
+ target: "tabcount_glow_r2";
+ target: "tabcount_glow_r3";
+ target: "terminology.tabcount.label";
+ target: "terminology.tabmissed.label";
+ }
+ program {
+ signal: "mouse,out"; source: "tabcount_ev";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 2.0;
+ target: "tabcount_r0";
+ target: "tabcount_r1";
+ target: "tabcount_r2";
+ target: "tabcount_r3";
+ target: "tabcount_glow_r0";
+ target: "tabcount_glow_r1";
+ target: "tabcount_glow_r2";
+ target: "tabcount_glow_r3";
+ target: "terminology.tabcount.label";
+ target: "terminology.tabmissed.label";
+ }
+ program {
+ signal: "mouse,clicked,1"; source: "tabcount_ev";
+ action: SIGNAL_EMIT "tabcount,go" "terminology";
+ }
+ program {
+ signal: "mouse,wheel,0,-1"; source: "tabcount_ev";
+ action: SIGNAL_EMIT "tabcount,prev" "terminology";
+ }
+ program {
+ signal: "mouse,wheel,0,1"; source: "tabcount_ev";
+ action: SIGNAL_EMIT "tabcount,next" "terminology";
+ }
+ program {
+ signal: "tabcount,off"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "tabcount_clip";
+ }
+ program {
+ signal: "tabcount,on"; source: "terminology";
+ action: STATE_SET "on" 0.0;
+ transition: DECELERATE 0.5;
+ target: "tabcount_clip";
+ }
+ program {
+ signal: "tabmissed,off"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "terminology.tabmissed.label";
+ }
+ program {
+ signal: "tabmissed,on"; source: "terminology";
+ action: STATE_SET "over" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.tabmissed.label";
+ after: "tabmissed2";
+ }
+ program { name: "tabmissed2";
+ signal: "tabmissed,on"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 3.0;
+ target: "terminology.tabmissed.label";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // miniview
+ part { name: "terminology.miniview"; type: SWALLOW;
+ description { state: "default" 0.0;
+ //color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ //color: 255 255 255 255;
+ }
+ }
+
+ program {
+ signal: "miniview,off"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "terminology.miniview";
+ }
+ program {
+ signal: "miniview,on"; source: "terminology";
+ action: STATE_SET "on" 0.0;
+ target: "terminology.miniview";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // overlayed prettiness
+ part { name: "glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bg_glow_in.png";
+ image.border: 7 7 7 7;
+ image.middle: 0;
+ fill.smooth: 0;
+ color: 51 153 255 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ description { state: "focused2" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 64;
+ }
+ }
+ part { name: "bevel";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bg_bevel.png";
+ image.border: 3 3 3 3;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "glintclip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "glint";
+ mouse_events: 0;
+ clip_to: "glintclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 79 5;
+ max: 79 5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ image.normal: "bg_glint.png";
+ color: 255 255 255 128;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "shine";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ image.normal: "bg_shine.png";
+ fill.smooth: 0;
+ align: 0.5 0.0;
+ aspect: (255/120) (255/120);
+ aspect_preference: HORIZONTAL;
+ color: 255 255 255 64;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ program {
+ signal: "focus,in"; source: "terminology";
+ action: STATE_SET "focused" 0.0;
+ target: "glint";
+ target: "glow";
+ target: "shine";
+ after: "focus_in2";
+ }
+ program { name: "focus_in2";
+ action: STATE_SET "focused2" 0.0;
+ transition: DECELERATE 0.5;
+ target: "glow";
+ }
+ program {
+ signal: "focus,out"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "glint";
+ target: "glow";
+ target: "shine";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // visual bell - spinning red siren light
+ part { name: "bell_glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ min: 1600 1600;
+ fill.smooth: 0;
+ image.normal: "bg_led_glow.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description { state: "done" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ min: 0 0;
+ }
+ }
+ part { name: "bell_base";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ min: 32 32;
+ max: 32 32;
+ rel2.offset: -1 -1;
+ align: 1.0 1.0;
+ image.normal: "bg_led_base.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ image.normal: "bg_led.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell_strobe";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell";
+ rel2.to: "bell";
+ image.normal: "bg_led_strobe.png";
+ map {
+ on: 1;
+ smooth: 1;
+ rotation.center: "bell";
+ }
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ map.rotation.z: 36.0;
+ }
+ description { state: "spin_done" 0.0;
+ inherit: "default" 0.0;
+ map.rotation.z: 720.0;
+ }
+ }
+ program {
+ signal: "bell,ring"; source: "terminology";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "bell" 1.0 ALERT;
+#else
+ action: PLAY_SAMPLE "bell" 1.0;
+#endif
+ }
+ program {
+ signal: "bell"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "bell_base";
+ target: "bell";
+ target: "bell_strobe";
+ target: "bell_glow";
+ after: "bell";
+ }
+ program { name: "bell";
+ action: STATE_SET "visible" 0.0;
+ target: "bell_base";
+ target: "bell_glow";
+ after: "bell2";
+ }
+ program { name: "bell2";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.1;
+ target: "bell";
+ target: "bell_glow";
+ after: "bell3";
+ after: "bell3.1";
+ }
+ program { name: "bell3";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 0.1;
+ target: "bell_strobe";
+ after: "bell4.0";
+ after: "bell4.1";
+ after: "bell4.2";
+ }
+ program { name: "bell3.1";
+ action: STATE_SET "done" 0.0;
+ transition: DECELERATE 0.5;
+ target: "bell_glow";
+ }
+ program { name: "bell4.0";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 1.2;
+ target: "bell";
+ }
+ program { name: "bell4.1";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 1.6;
+ target: "bell_base";
+ }
+ program { name: "bell4.2";
+ action: STATE_SET "spin_done" 0.0;
+ transition: LINEAR 0.9;
+ target: "bell_strobe";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // popup media over the terminal (until dismissed)
+ part { name: "popmedia_clip"; type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "popmedia_shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.popmedia";
+ rel2.to: "terminology.popmedia";
+ image.normal: "pm_shadow.png";
+ image.border: 64 64 64 64;
+ image.border_scale_by: 0.1;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -32 -32;
+ rel2.offset: 31 31;
+ image.border_scale_by: 1.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_fill";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.popmedia";
+ rel2.to: "terminology.popmedia";
+ image.normal: "pm_fill.png";
+ fill {
+ size.relative: 0.0 0.0;
+ size.offset: 64 64;
+ }
+ }
+ }
+ part { name: "terminology.popmedia"; type: SWALLOW;
+ clip_to: "popmedia_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ visible: 0;
+ }
+ description { state: "image" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ visible: 1;
+ }
+ description { state: "scale" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ visible: 1;
+ }
+ description { state: "edje" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ visible: 1;
+ }
+ description { state: "movie" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_overlay";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.popmedia";
+ rel2.to: "terminology.popmedia";
+ image.normal: "pm_overlay.png";
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_bevel";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.popmedia";
+ rel2.to: "terminology.popmedia";
+ image.normal: "bg_bevel.png";
+ image.border: 3 3 3 3;
+ image.middle: 0;
+ fill.smooth: 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_glintclip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_glint";
+ mouse_events: 0;
+ clip_to: "popmedia_glintclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 79 5;
+ max: 79 5;
+ rel1 {
+ to: "terminology.popmedia";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "terminology.popmedia";
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ image.normal: "bg_glint.png";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_shine";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.popmedia";
+ rel2.to: "terminology.popmedia";
+ image.normal: "bg_shine.png";
+ fill.smooth: 0;
+ align: 0.5 0.0;
+ aspect: (255/120) (255/120);
+ aspect_preference: HORIZONTAL;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "popmedia_dismiss"; type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ program {
+ signal: "mouse,clicked,*"; source: "popmedia_dismiss";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "terminology.popmedia";
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ after: "popmedia_dismiss2";
+ }
+ program { name: "popmedia_dismiss2";
+ action: SIGNAL_EMIT "popmedia,done" "terminology";
+ }
+ program {
+ signal: "popmedia,off"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.popmedia";
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ after: "popmedia_dismiss2";
+ }
+ program {
+ signal: "popmedia,image"; source: "terminology";
+ action: STATE_SET "image" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.popmedia";
+ }
+ program {
+ signal: "popmedia,scale"; source: "terminology";
+ action: STATE_SET "scale" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.popmedia";
+ }
+ program {
+ signal: "popmedia,edje"; source: "terminology";
+ action: STATE_SET "edje" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.popmedia";
+ }
+ program {
+ signal: "popmedia,movie"; source: "terminology";
+ action: STATE_SET "movie" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.popmedia";
+ }
+ program {
+ signal: "popmedia,image"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.2;
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ }
+ program {
+ signal: "popmedia,scale"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.2;
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ }
+ program {
+ signal: "popmedia,edje"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.2;
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ }
+ program {
+ signal: "popmedia,movie"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.2;
+ target: "popmedia_clip";
+ target: "popmedia_dismiss";
+ target: "popmedia_shadow";
+ target: "popmedia_fill";
+ target: "popmedia_overlay";
+ target: "popmedia_bevel";
+ target: "popmedia_glint";
+ target: "popmedia_glintclip";
+ target: "popmedia_shine";
+ }
+ }
+ }
+
+ group { name: "terminology/base";
+ images.image: "pm_shadow.png" COMP;
+ images.image: "bg_bevel.png" COMP;
+ images.image: "bg_glint.png" COMP;
+ parts {
+ part { name: "terminology.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+ ////////////////////////////////////////////////////////////////////
+ // a place terminology will place an entry box for internal commands
+ part { name: "cmdclip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.cmdbox";
+ rel1.offset: -100 -100;
+ rel2.to: "terminology.cmdbox";
+ rel2.offset: 99 99;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "cmdshadow"; mouse_events: 0;
+ clip_to: "cmdclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "cmdback";
+ rel1.offset: -32 -32;
+ rel2.to: "cmdback";
+ rel2.offset: 31 31;
+ image.normal: "pm_shadow.png";
+ image.border: 64 64 64 64;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "cmdback"; type: RECT;
+ clip_to: "cmdclip";
+ description { state: "default" 0.0;
+ color: 48 48 48 255;
+ rel1.to: "terminology.cmdbox";
+ rel1.offset: -2 -2;
+ rel2.to: "terminology.cmdbox";
+ rel2.offset: 1 1;
+ }
+ }
+ part { name: "terminology.cmdbox"; type: SWALLOW;
+ clip_to: "cmdclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 8 8;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 8 9;
+ rel2.offset: -9 9;
+ align: 0.5 0.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 8 -9;
+ rel2.offset: -9 -9;
+ align: 0.5 1.0;
+ }
+ }
+ part { name: "cmdbevel"; mouse_events: 0;
+ clip_to: "cmdclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "cmdback";
+ rel2.to: "cmdback";
+ image.normal: "bg_bevel.png";
+ image.border: 3 3 3 3;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "cmdglint"; mouse_events: 0;
+ clip_to: "cmdclip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 79 5;
+ max: 79 5;
+ rel1 {
+ to: "cmdback";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "cmdback";
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ image.normal: "bg_glint.png";
+ }
+ }
+ program {
+ signal: "cmdbox,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.4;
+ target: "cmdclip";
+ }
+ program {
+ signal: "cmdbox,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: SPRING 0.4 0.5 4;
+ target: "terminology.cmdbox";
+ }
+ program {
+ signal: "cmdbox,hide"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 0.5;
+ target: "terminology.cmdbox";
+ target: "cmdclip";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // overlayed options and controls
+ part { name: "terminology.about"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 198 198;
+ max: 198 198;
+ align: 0.5 0.0;
+ visible: 0;
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 1.0 1.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.5;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ program {
+ signal: "about,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: SPRING 1.2 2.0 6;
+ target: "terminology.about";
+ }
+ program {
+ signal: "about,hide"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.6;
+ target: "terminology.about";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // swallow to hold invisile rect to click on to dismiss things
+ part { name: "terminology.dismiss"; type: SWALLOW;
+ description { state: "default" 0.0;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // overlayed options and controls
+ part { name: "terminology.optdetails"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 40 40;
+ align: 0.0 0.5;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.02;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.98;
+ offset: 8 -9;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.1 0.02;
+ offset: 8 8;
+ }
+ rel2 {
+ to_x: "terminology.options";
+ relative: 0.0 0.98;
+ offset: -9 -9;
+ }
+ }
+ }
+ program {
+ signal: "optdetails,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.4;
+ target: "terminology.optdetails";
+ }
+ program {
+ signal: "optdetails,hide"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.2;
+ target: "terminology.optdetails";
+ after: "opdt_hide2";
+ }
+ program { name: "opdt_hide2";
+ action: SIGNAL_EMIT "optdetails,hide,done" "terminology";
+ }
+
+ part { name: "terminology.options"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.02;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.98;
+ offset: 8 -9;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ offset: -9 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ }
+ }
+ program {
+ signal: "options,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.4;
+ target: "terminology.options";
+ }
+ program {
+ signal: "options,hide"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.6;
+ target: "terminology.options";
+ }
+
+ part { name: "terminology.controls"; type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 10 10;
+ align: 0.0 0.5;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 8 -9;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: -9 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ }
+ }
+ program {
+ signal: "controls,show"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.3;
+ target: "terminology.controls";
+ }
+ program {
+ signal: "controls,hide"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "terminology.controls";
+ }
+ }
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// the selection
+ // selections come in 5 modes:
+ //
+ // oneline (also multiple lines but all fill the row):
+ // | ######### |
+ //
+ // disjoint:
+ // | #######|
+ // |## |
+ //
+ // default:
+ // | ###########|
+ // |######### |
+ //
+ // topfull:
+ // |##############|
+ // |###### |
+ //
+ // bottomfull:
+ // | ######|
+ // |##############|
+#define PATCOL 255 255 255 25
+#define OUTCOL 51 153 255 128
+
+ group { name: "terminology/selection";
+ images {
+ image: "sl_stripe.png" COMP;
+ image: "sl_left.png" COMP;
+ image: "sl_right.png" COMP;
+ image: "sl_top.png" COMP;
+ image: "sl_bottom.png" COMP;
+ image: "sl_htop.png" COMP;
+ image: "sl_hbottom.png" COMP;
+ }
+ parts {
+ // background pattern. duplicated because clips cut out regions of
+ // it to see and clips don't overlap
+ part { name: "background_top";
+ mouse_events: 0;
+ clip_to: "top_clip";
+ description { state: "default" 0.0;
+ color: PATCOL;
+ image.normal: "sl_stripe.png";
+ fill.size.relative: 0.0 0.0;
+ fill.size.offset: 240 240;
+ }
+ }
+ part { name: "background_middle";
+ mouse_events: 0;
+ clip_to: "middle_clip";
+ description { state: "default" 0.0;
+ color: PATCOL;
+ image.normal: "sl_stripe.png";
+ fill.size.relative: 0.0 0.0;
+ fill.size.offset: 240 240;
+ }
+ }
+ part { name: "background_bottom";
+ mouse_events: 0;
+ clip_to: "bottom_clip";
+ description { state: "default" 0.0;
+ color: PATCOL;
+ image.normal: "sl_stripe.png";
+ fill.size.relative: 0.0 0.0;
+ fill.size.offset: 240 240;
+ }
+ }
+
+ // clips that clip the above pattern images to occupy specific
+ // regions of the object (or be invisible since clip is invisible)
+ part { name: "top_clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.top_left";
+ rel1.relative: 1.0 0.0;
+ rel2.to_y: "terminology.top_left";
+ rel2.relative: 1.0 1.0;
+ }
+ description { state: "oneline" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "middle_clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.top_left";
+ rel1.relative: 0.0 1.0;
+ rel2.to: "terminology.bottom_right";
+ rel2.relative: 1.0 0.0;
+ }
+ description { state: "oneline" 0.0;
+ rel1.to: "terminology.top_left";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "terminology.bottom_right";
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "bottom_clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to_y: "terminology.bottom_right";
+ rel1.relative: 0.0 0.0;
+ rel2.to_x: "terminology.bottom_right";
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "oneline" 0.0;
+ visible: 0;
+ }
+ }
+
+ // the outline around the selection...
+#define TARGETS \
+target: "top_clip"; target: "middle_clip"; target: "bottom_clip"; \
+target: "0.clip"; target: "1.clip"; target: "2.clip"; target: "3.clip"; target: "4.clip"
+
+ part { name: "0.clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "oneline" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ }
+ part { name: "1.clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "disjoint" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ }
+ part { name: "2.clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ }
+ part { name: "3.clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "topfull" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "bottomfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ }
+ part { name: "4.clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "oneline" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "disjoint" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "topfull" 0.0; visible: 0; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ description { state: "bottomfull" 0.0; visible: 1; rel1.offset: -100 -100; rel2.offset: 101 101; }
+ }
+
+ // oneline (also multiple lines but all fill the row):
+ // | ######### |
+ part { name: "0.left";
+ mouse_events: 0;
+ clip_to: "0.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "terminology.top_left";
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ to_x: "terminology.top_left";
+ relative: 1.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "0.right";
+ mouse_events: 0;
+ clip_to: "0.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "terminology.bottom_right";
+ relative: 0.0 0.0;
+ offset: -3 -1;
+ }
+ rel2 {
+ to_x: "terminology.bottom_right";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "0.top";
+ mouse_events: 0;
+ clip_to: "0.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "0.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "0.right";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "0.bottom";
+ mouse_events: 0;
+ clip_to: "0.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "0.left";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "0.right";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ program { name: "oneline";
+ signal: "mode,oneline";
+ source: "terminology";
+ action: STATE_SET "oneline" 0.0;
+ TARGETS;
+ }
+
+ // disjoint:
+ // | #######|
+ // |## |
+ part { name: "1.left";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "terminology.top_left";
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ to: "terminology.top_left";
+ relative: 1.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.right";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to_y: "terminology.top_left";
+ relative: 1.0 0.0;
+ offset: -4 -1;
+ }
+ rel2 {
+ to_y: "terminology.top_left";
+ relative: 1.0 1.0;
+ offset: -1 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.top";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "1.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "1.right";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.bottom";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "1.left";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "1.right";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.left2";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to_y: "terminology.bottom_right";
+ offset: -1 -1;
+ }
+ rel2 {
+ to_y: "terminology.bottom_right";
+ relative: 0.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.right2";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "terminology.bottom_right";
+ relative: 0.0 0.0;
+ offset: -3 -1;
+ }
+ rel2 {
+ to: "terminology.bottom_right";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.top2";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "1.left2";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "1.right2";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "1.bottom2";
+ mouse_events: 0;
+ clip_to: "1.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "1.left2";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "1.right2";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ program { name: "disjoint";
+ signal: "mode,disjoint";
+ source: "terminology";
+ action: STATE_SET "disjoint" 0.0;
+ TARGETS;
+ }
+
+ // default:
+ // | ###########|
+ // |######### |
+ part { name: "2.topkink";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ relative: 0.0 0.0;
+ offset: -4 -1;
+ }
+ rel2 {
+ to: "top_clip";
+ relative: 0.0 1.0;
+ offset: 2 2;
+ }
+ color: OUTCOL;
+ image.normal: "sl_top.png";
+ image.border: 0 0 4 7;
+ }
+ }
+ part { name: "2.bottomkink";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "bottom_clip";
+ relative: 1.0 0.0;
+ offset: -3 -3;
+ }
+ rel2 {
+ to: "bottom_clip";
+ relative: 1.0 1.0;
+ offset: 3 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_bottom.png";
+ image.border: 0 0 7 4;
+ }
+ }
+ part { name: "2.left";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "middle_clip";
+ offset: -1 -1;
+ }
+ rel2 {
+ to: "bottom_clip";
+ relative: 0.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "2.right";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ relative: 1.0 0.0;
+ offset: -3 -1;
+ }
+ rel2 {
+ to: "middle_clip";
+ offset: 0 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "2.top";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "2.topkink";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "2.right";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "2.top2";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "2.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "2.topkink";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "2.bottom";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "2.left";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "2.bottomkink";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "2.bottom2";
+ mouse_events: 0;
+ clip_to: "2.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "2.bottomkink";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "2.right";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ program { name: "multiline";
+ signal: "mode,multiline";
+ source: "terminology";
+ action: STATE_SET "default" 0.0;
+ TARGETS;
+ }
+
+ // topfull:
+ // |##############|
+ // |###### |
+ part { name: "3.bottomkink";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "bottom_clip";
+ relative: 1.0 0.0;
+ offset: -3 -3;
+ }
+ rel2 {
+ to: "bottom_clip";
+ relative: 1.0 1.0;
+ offset: 3 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_bottom.png";
+ image.border: 0 0 7 4;
+ }
+ }
+ part { name: "3.left";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ offset: -1 -1;
+ }
+ rel2 {
+ to: "bottom_clip";
+ relative: 0.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "3.right";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ relative: 1.0 0.0;
+ offset: -3 -1;
+ }
+ rel2 {
+ to: "middle_clip";
+ offset: 0 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "3.top";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "3.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "3.right";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "3.bottom";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "3.left";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "3.bottomkink";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "3.bottom2";
+ mouse_events: 0;
+ clip_to: "3.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "3.bottomkink";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "3.right";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ program { name: "topfull";
+ signal: "mode,topfull";
+ source: "terminology";
+ action: STATE_SET "topfull" 0.0;
+ TARGETS;
+ }
+
+ // bottomfull:
+ // | ######|
+ // |##############|
+ part { name: "4.topkink";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ relative: 0.0 0.0;
+ offset: -4 -1;
+ }
+ rel2 {
+ to: "top_clip";
+ relative: 0.0 1.0;
+ offset: 2 2;
+ }
+ color: OUTCOL;
+ image.normal: "sl_top.png";
+ image.border: 0 0 4 7;
+ }
+ }
+ part { name: "4.left";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "middle_clip";
+ offset: -1 -1;
+ }
+ rel2 {
+ to: "bottom_clip";
+ relative: 0.0 1.0;
+ offset: 2 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_left.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "4.right";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "top_clip";
+ relative: 1.0 0.0;
+ offset: -3 -1;
+ }
+ rel2 {
+ offset: 0 0;
+ }
+ color: OUTCOL;
+ image.normal: "sl_right.png";
+ image.border: 0 0 4 4;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "4.top";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "4.topkink";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "4.right";
+ relative: 0.0 0.0;
+ offset: -1 3;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "4.top2";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "4.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "4.topkink";
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_htop.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "4.bottom";
+ mouse_events: 0;
+ clip_to: "4.clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "4.left";
+ relative: 1.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "4.right";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: OUTCOL;
+ image.normal: "sl_hbottom.png";
+ fill.smooth: 0;
+ }
+ }
+ program {
+ signal: "mode,bottomfull"; source: "terminology";
+ action: STATE_SET "bottomfull" 0.0;
+ TARGETS;
+ }
+
+ // top and bottom swallows used to coimmunicate via min/max size the
+ // size of the top and bottom lines
+ part { name: "terminology.top_left"; type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "terminology.bottom_right"; type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ visible: 0;
+ }
+ }
+
+ // blinky cursors indicating you can drag the ends of the selection
+ part { name: "cursor.top_left"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.top_left";
+ rel1.relative: 1.0 0.0;
+ rel2.to: "terminology.top_left";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: 0 -1;
+ color: 255 0 0 128;
+ }
+ }
+ part { name: "cursor_blink.top_left"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "cursor.top_left";
+ rel2.to: "cursor.top_left";
+ visible: 0;
+ }
+ description { state: "fading" 0.0;
+ inherit: "default" 0.0;
+ color: 255 0 0 255;
+ visible: 1;
+ }
+ description { state: "fading" 1.0;
+ inherit: "fading" 0.0;
+ color: 255 0 0 64;
+ rel1.offset: -5 0;
+ }
+ }
+ part { name: "zone.top_left"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "cursor.top_left";
+ rel1.offset: -15 0;
+ rel2.to: "cursor.top_left";
+ rel2.offset: 15 0;
+ color: 0 0 0 0;
+ }
+ program { name: "top_left.blink";
+ signal: "mouse,in";
+ source: "zone.top_left";
+ action: STATE_SET "fading" 0.0;
+ target: "cursor_blink.top_left";
+ after: "top_left.fade";
+ }
+ program { name: "top_left.fade";
+ action: STATE_SET "fading" 1.0;
+ transition: LINEAR 0.3;
+ target: "cursor_blink.top_left";
+ after: "top_left.blink";
+ }
+ program { name: "top_left.stop";
+ signal: "mouse,out";
+ source: "zone.top_left";
+ action: STATE_SET "default" 0.0;
+ target: "cursor_blink.top_left";
+ }
+ }
+ part { name: "cursor.bottom_right"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.bottom_right";
+ rel1.relative: 0.0 0.0;
+ rel1.offset: -1 0;
+ rel2.to: "terminology.bottom_right";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -1 -1;
+ color: 255 0 0 128;
+ }
+ }
+ part { name: "cursor_blink.bottom_right"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "cursor.bottom_right";
+ rel2.to: "cursor.bottom_right";
+ visible: 0;
+ }
+ description { state: "fading" 0.0;
+ inherit: "default" 0.0;
+ color: 255 0 0 255;
+ visible: 1;
+ }
+ description { state: "fading" 1.0;
+ inherit: "fading" 0.0;
+ color: 255 0 0 64;
+ rel2.offset: +5 0;
+ }
+ }
+ part { name: "zone.bottom_right"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "cursor.bottom_right";
+ rel1.offset: -15 0;
+ rel2.to: "cursor.bottom_right";
+ rel2.offset: 15 0;
+ color: 0 0 0 0;
+ }
+ program { name: "bottom_right.blink";
+ signal: "mouse,in"; source: "zone.bottom_right";
+ action: STATE_SET "fading" 0.0;
+ target: "cursor_blink.bottom_right";
+ after: "bottom_right.fade";
+ }
+ program { name: "bottom_right.fade";
+ action: STATE_SET "fading" 1.0;
+ transition: LINEAR 0.3;
+ target: "cursor_blink.bottom_right";
+ after: "bottom_right.blink";
+ }
+ program { name: "bottom_right.stop";
+ signal: "mouse,out"; source: "zone.bottom_right";
+ action: STATE_SET "default" 0.0;
+ target: "cursor_blink.bottom_right";
+ }
+ }
+ }
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// the cursor to show where text is typed
+ group { name: "terminology/cursor";
+ images {
+ image: "cr_key.png" COMP;
+ image: "cr_out.png" COMP;
+ image: "cr_pulse.png" COMP;
+ image: "cr_glow.png" COMP;
+ }
+ sounds {
+ sample { name: "key-tap1" LOSSY 64;
+ source: "kbd-tap.wav";
+ }
+ sample { name: "key-tap2" LOSSY 64;
+ source: "kbd-tap2.wav";
+ }
+ sample { name: "key-tap3" LOSSY 64;
+ source: "kbd-tap3.wav";
+ }
+ sample { name: "key-tap4" LOSSY 64;
+ source: "kbd-tap4.wav";
+ }
+ sample { name: "key-tap5" LOSSY 64;
+ source: "kbd-tap5.wav";
+ }
+ }
+ parts {
+ part { name: "key";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "outline";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "outline";
+ offset: 4 4;
+ }
+ image {
+ normal: "cr_key.png";
+ border: 4 4 4 4;
+ }
+ color: 51 153 255 0;
+ }
+ description { state: "on" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ description { state: "out" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 0;
+ rel1.offset: -7 -15;
+ rel2.offset: 6 14;
+ }
+ }
+ part { name: "pulse";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "outline";
+ offset: -4 -4;
+ }
+ rel2 {
+ to: "outline";
+ offset: 3 3;
+ }
+ image {
+ normal: "cr_pulse.png";
+ border: 4 4 4 4;
+ }
+ color: 51 153 255 0;
+ }
+ description { state: "on" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ description { state: "out" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 0;
+ rel1.offset: -8 -8;
+ rel2.offset: 7 7;
+ }
+ }
+ part { name: "glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 40;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+ part { name: "outline";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image {
+ normal: "cr_out.png";
+ border: 3 3 3 3;
+ }
+ color: 51 153 255 80;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ programs {
+ program {
+ signal: "focus,in,noblink"; source: "terminology";
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ target: "outline";
+ }
+ program { name: "focus_in";
+ signal: "focus,in"; source: "terminology";
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ target: "outline";
+ after: "focus2";
+ after: "pulse";
+ }
+ program { name: "focus2";
+ in: 0.5 0.0;
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.2;
+ target: "glow";
+ target: "outline";
+ after: "focus3";
+ }
+ program { name: "focus3";
+ in: 0.5 0.0;
+ action: STATE_SET "focused" 0.0;
+ target: "glow";
+ target: "outline";
+ after: "focus2";
+ after: "pulse";
+ }
+ program { name: "pulse";
+ action: STATE_SET "on" 0.0;
+ target: "pulse";
+ after: "pulse2";
+ }
+ program { name: "pulse2";
+ action: STATE_SET "out" 0.0;
+ transition: DECELERATE 0.4;
+ target: "pulse";
+ }
+ program {
+ signal: "focus,out"; source: "terminology";
+ action: ACTION_STOP;
+ target: "focus_in";
+ target: "focus2";
+ target: "focus3";
+ target: "pulse";
+ target: "pulse2";
+ after: "focus_out2";
+ }
+ program { name: "focus_out2";
+ action: STATE_SET "default" 0.0;
+ target: "glow";
+ target: "outline";
+ }
+ program {
+ signal: "key,down"; source: "terminology";
+ script {
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 8)
+ new buf[32];
+ snprintf(buf, 31, "key-down%i", (rand() % 5) + 1);
+ run_program(get_program_id(buf));
+#else
+ run_program(PROGRAM:"key-down4"); // chosen by a fair dice roll
+ // guaranteed to be random.
+ // http://xkcd.com/221/
+#endif
+ }
+ }
+ program { name: "key-down1";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "key-tap1" 1.0 INPUT;
+#else
+ action: PLAY_SAMPLE "key-tap1" 1.0;
+#endif
+ }
+ program { name: "key-down2";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "key-tap2" 1.0 INPUT;
+#else
+ action: PLAY_SAMPLE "key-tap2" 1.0;
+#endif
+ }
+ program { name: "key-down3";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "key-tap3" 1.0 INPUT;
+#else
+ action: PLAY_SAMPLE "key-tap3" 1.0;
+#endif
+ }
+ program { name: "key-down4";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "key-tap4" 1.0 INPUT;
+#else
+ action: PLAY_SAMPLE "key-tap4" 1.0;
+#endif
+ }
+ program { name: "key-down5";
+#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 9)
+ action: PLAY_SAMPLE "key-tap5" 1.0 INPUT;
+#else
+ action: PLAY_SAMPLE "key-tap5" 1.0;
+#endif
+ }
+ program {
+ signal: "key,down"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "key";
+ after: "key2";
+ }
+ program { name: "key2";
+ action: STATE_SET "on" 0.0;
+ target: "key";
+ after: "key3";
+ }
+ program { name: "key3";
+ action: STATE_SET "out" 0.0;
+ transition: DECELERATE 0.3;
+ target: "key";
+ }
+ }
+ }
+ }
+ ///////////////////////////////////////////////////////////////////////////
+ //// an object to contain the selection tool used for selecting tabs (with
+ //// a glow grid of terms
+ group { name: "terminology/sel/base";
+ images {
+ image: "pm_overlay.png" COMP;
+ image: "pm_fill.png" COMP;
+ image: "inset_shadow.png" COMP;
+ }
+ set { name: "bg_shadow";
+ image { image: "bg_shadow.png" COMP; size: 0 0 200 150; }
+ image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; }
+ image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; }
+ }
+ script {
+ public message(Msg_Type:type, id, ...) {
+ new r, g, b, a, v;
+
+ if ((type != MSG_INT) || (id != 1)) return;
+
+ v = (getarg(2) * 255) / 100;
+
+ custom_state(PART:"shadow", "default", 0.0);
+ get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a);
+ set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v);
+ set_state(PART:"shadow", "custom", 0.0);
+
+ if (v < 255)
+ set_state(PART:"fill", "translucent", 0.0);
+ else
+ set_state(PART:"fill", "default", 0.0);
+ }
+ }
+ parts {
+ ////////////////////////////////////////////////////////////////////
+ // background and shadows
+ part { name: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "bg_shadow";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "fill";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "pm_fill.png";
+ fill {
+ size.relative: 0.0 0.0;
+ size.offset: 64 64;
+ }
+ }
+ description { state: "translucent" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // content (where the grid of terms goes)
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "terminology.content"; type: SWALLOW;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff on top
+ part { name: "overlay";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "pm_overlay.png";
+ color: 255 255 255 0;
+ fill.smooth: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "overlay_shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "inset_shadow.png";
+ image.border: 5 5 7 3;
+ image.middle: 0;
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ program {
+ signal: "begin"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.3;
+ target: "overlay";
+ target: "overlay_shadow";
+ }
+ program {
+ signal: "end"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.3 CURRENT;
+ target: "overlay";
+ target: "overlay_shadow";
+ }
+ }
+ }
+
+ group { name: "terminology/sel/item";
+ images {
+ image: "bg_bevel.png" COMP;
+ image: "bg_shine.png" COMP;
+ image: "bg_glint.png" COMP;
+ image: "pm_shadow.png" COMP;
+ image: "cr_glow.png" COMP;
+ image: "bg_led_glow.png" COMP;
+ image: "bg_led_base.png" COMP;
+ image: "bg_led.png" COMP;
+ image: "bg_led_strobe.png" COMP;
+ }
+ parts {
+ ////////////////////////////////////////////////////////////////////
+ // base background and selection image
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ color: 128 128 128 255;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ rel1.offset: -5 -5;
+ rel2.offset: 4 4;
+ image.normal: "pm_shadow.png";
+ image.border: 64 64 64 64;
+ image.border_scale_by: 0.1;
+ color: 255 255 255 128;
+ fill.smooth: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -40 -40;
+ rel2.offset: 39 39;
+ image.border_scale_by: 1.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ rel1.offset: -4 -4;
+ rel2.offset: 3 3;
+ image {
+ normal: "cr_glow.png";
+ border: 9 9 9 9;
+ }
+ color: 51 153 255 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 51 153 255 255;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // swallowed terminal content + bg inside it
+ part { name: "base"; type: RECT;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ color: 32 32 32 255;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ }
+ }
+ part { name: "terminology.content"; type: SWALLOW;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ program {
+ signal: "selected"; source: "terminology";
+ action: STATE_SET "selected" 0.0;
+ transition: DECELERATE 0.2 CURRENT;
+ target: "terminology.content";
+ target: "terminology.label";
+ target: "shadow";
+ target: "clip";
+ target: "glow";
+ }
+ program {
+ signal: "selected,start"; source: "terminology";
+ action: STATE_SET "selected" 0.0;
+ target: "terminology.content";
+ target: "terminology.label";
+ target: "shadow";
+ target: "clip";
+ target: "glow";
+ }
+ program {
+ signal: "unselected"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.4 CURRENT;
+ target: "terminology.content";
+ target: "terminology.label";
+ target: "shadow";
+ target: "clip";
+ target: "glow";
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff over the top of the terminal for shading and labelling
+ part { name: "overlay";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ image.normal: "pm_overlay.png";
+ fill.smooth: 0;
+ }
+ }
+ part { name: "bevel";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ image.normal: "bg_bevel.png";
+ image.border: 3 3 3 3;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "terminology.label"; type: TEXT; mouse_events: 0;
+ effect: GLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ color: 51 153 255 255;
+ color2: 51 153 255 24;
+ color3: 51 153 255 18;
+ align: 0.5 1.0;
+ text { font: "Sans"; size: 10;
+ align: 0.5 1.0;
+ min: 0 1;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ color2: 51 153 255 128;
+ color3: 51 153 255 20;
+ }
+ }
+ part { name: "clip2"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff on top
+ part { name: "glint";
+ mouse_events: 0;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 79 5;
+ max: 79 5;
+ rel1 {
+ to: "terminology.content";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "terminology.content";
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ image.normal: "bg_glint.png";
+ }
+ }
+ part { name: "shine";
+ mouse_events: 0;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ image.normal: "bg_shine.png";
+ fill.smooth: 0;
+ align: 0.5 0.0;
+ aspect: (255/120) (255/120);
+ aspect_preference: HORIZONTAL;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ // visual bell - spinning red siren light
+ part { name: "bell_glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ min: 200 200;
+ fill.smooth: 0;
+ image.normal: "bg_led_glow.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell_base";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ min: 32 32;
+ max: 32 32;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ align: 1.0 1.0;
+ image.normal: "bg_led_base.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ image.normal: "bg_led.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell_strobe";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell";
+ rel2.to: "bell";
+ image.normal: "bg_led_strobe.png";
+ map {
+ on: 1;
+ smooth: 1;
+ rotation.center: "bell";
+ }
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ map.rotation.z: 36.0;
+ }
+ description { state: "spin_done" 0.0;
+ inherit: "spin" 0.0;
+ map.rotation.z: 720.0;
+ }
+ description { state: "spin_done2" 0.0;
+ inherit: "spin" 0.0;
+ map.rotation.z: 1440.0;
+ }
+ }
+ program {
+ signal: "bell"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "bell_base";
+ target: "bell";
+ target: "bell_strobe";
+ target: "bell_glow";
+ after: "bell";
+ }
+ program { name: "bell";
+ action: STATE_SET "visible" 0.0;
+ target: "bell_base";
+ target: "bell_glow";
+ after: "bell2";
+ }
+ program { name: "bell2";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.1;
+ target: "bell";
+ target: "bell_glow";
+ after: "bell3";
+ }
+ program { name: "bell3";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 0.1;
+ target: "bell_strobe";
+ after: "bell4.2";
+ }
+ program { name: "bell4.2";
+ action: STATE_SET "spin_done" 0.0;
+ transition: LINEAR 0.9;
+ target: "bell_strobe";
+ after: "bell4.3";
+ }
+ program { name: "bell4.3";
+ action: STATE_SET "spin_done2" 0.0;
+ transition: LINEAR 1.0;
+ target: "bell_strobe";
+ after: "bell4.4";
+ }
+ program { name: "bell4.4";
+ action: STATE_SET "spin_done" 0.0;
+ target: "bell_strobe";
+ after: "bell4.3";
+ }
+ }
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// an object overlayd on text that is a link
+ group { name: "terminology/link";
+ images {
+ image: "lk_bottom.png" COMP;
+ image: "lk_left.png" COMP;
+ image: "lk_right.png" COMP;
+ }
+ parts {
+ part { name: "bottom";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "lk_bottom.png";
+ image.border: 9 9 0 0;
+ align: 0.5 1.0;
+ min: 20 8;
+ rel1.offset: -6 0;
+ rel1.relative: 0.0 1.0;
+ rel2.offset: 5 0;
+ color: 51 153 255 255;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "l";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "lk_left.png";
+ align: 0.0 1.0;
+ min: 4 4;
+ rel1.offset: 16 -1;
+ rel1.relative: 0.0 1.0;
+ rel2.offset: 16 -1;
+ rel2.relative: 0.0 1.0;
+ color: 51 153 255 0;
+ }
+ description { state: "out" 0.0;
+ inherit: "default" 0.0;
+ min: 16 16;
+ rel1.offset: -10 -1;
+ rel2.offset: -10 -1;
+ color: 51 153 255 255;
+ }
+ description { state: "out2" 0.0;
+ inherit: "default" 0.0;
+ min: 32 32;
+ rel1.offset: -26 -1;
+ rel2.offset: -26 -1;
+ color: 51 153 255 0;
+ }
+ }
+ part { name: "r";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "lk_right.png";
+ align: 1.0 1.0;
+ min: 4 4;
+ rel1.offset: -15 0;
+ rel1.relative: 1.0 1.0;
+ rel2.offset: -15 0;
+ rel2.relative: 1.0 1.0;
+ color: 51 153 255 0;
+ }
+ description { state: "out" 0.0;
+ inherit: "default" 0.0;
+ min: 16 16;
+ rel1.offset: 9 -1;
+ rel2.offset: 9 -1;
+ color: 51 153 255 255;
+ }
+ description { state: "out2" 0.0;
+ inherit: "default" 0.0;
+ min: 32 32;
+ rel1.offset: 25 -1;
+ rel2.offset: 25 -1;
+ color: 51 153 255 0;
+ }
+ }
+ part { name: "event"; type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ programs {
+ program { name: "show";
+ signal: "show"; source: "";
+ action: STATE_SET "out" 0.0;
+ transition: LINEAR 0.3;
+ target: "l";
+ target: "r";
+ after: "show2";
+ }
+ program { name: "show2";
+ action: STATE_SET "out2" 0.0;
+ transition: LINEAR 0.3;
+ target: "l";
+ target: "r";
+ after: "show3";
+ }
+ program { name: "show3";
+ action: STATE_SET "default" 0.0;
+ target: "l";
+ target: "r";
+ after: "show";
+ }
+ }
+ }
+ }
+
+ //////////////////////////////////////////////////////////////////////////////
+ //// the multimedia controls
+ group { name: "terminology/mediabusy";
+ images {
+ image: "media_busy_knob.png" COMP;
+ image: "media_busy_spinner.png" COMP;
+ image: "media_busy_progress.png" COMP;
+ }
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_FLOAT) && (id == 1)) {
+ new Float:val;
+ val = getfarg(2);
+ // val 0.0 -. 1.0 percentage
+ custom_state(PART:"progress", "default", 0.0);
+ set_state_val(PART:"progress", STATE_REL2, val, 1.0);
+ set_state(PART:"progress", "custom", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "progress_area"; type: SPACER;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel2.to_x: "knob";
+ rel2.relative: 0.0 1.0;
+ min: 10 40;
+ max: 99999 40;
+ align: 0.0 1.0;
+ }
+ }
+ part { name: "progress";
+ mouse_events: 0;
+ clip_to: "fade";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "progress_area";
+ rel2.to: "progress_area";
+ rel2.relative: 0.0 1.0;
+ color: 51 153 255 255;
+ image.normal: "media_busy_progress.png";
+ image.border: 5 5 0 0;
+ min: 10 40;
+ align: 0.0 1.0;
+ }
+ }
+ part { name: "fade"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "knob";
+ clip_to: "fade";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ image.normal: "media_busy_knob.png";
+ min: 40 40;
+ max: 40 40;
+ align: 1.0 1.0;
+ }
+ }
+ part { name: "knob_spinner";
+ clip_to: "fade";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 51 153 255 255;
+ rel1.to: "knob";
+ rel2.to: "knob";
+ image.normal: "media_busy_spinner.png";
+ map {
+ on: 1;
+ smooth: 1;
+ rotation.center: "knob";
+ }
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ map.rotation.z: 360;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "busy"; source: "terminology";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.5;
+ target: "fade";
+ }
+ program { name: "spin1";
+ signal: "busy"; source: "terminology";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 0.5;
+ target: "knob_spinner";
+ after: "spin2";
+ }
+ program { name: "spin2";
+ action: STATE_SET "default" 0.0;
+ target: "knob_spinner";
+ after: "spin1";
+ }
+// program { name: "downloading";
+// signal: "busy";
+// source: "terminology";
+// action: STATE_SET "default" 0.0;
+// }
+ program {
+ signal: "done"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 1.5;
+ target: "fade";
+ }
+ }
+ }
+ ///////////////////////////////////////////////////////////////////////////
+ //// the multimedia controls
+ group { name: "terminology/mediactrl";
+ images {
+ image: "media_bg.png" COMP;
+ image: "media_play.png" COMP;
+ image: "media_stop.png" COMP;
+ image: "media_pause.png" COMP;
+ image: "media_line.png" COMP;
+ image: "media_knob_vol.png" COMP;
+ image: "media_knob_pos.png" COMP;
+ }
+ parts {
+ part { name: "media_clip"; type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "media_bg";
+ rel2.to: "media_bg";
+ }
+ }
+ part { name: "media_bg";
+ clip_to: "media_clip";
+ description { state: "default" 0.0;
+ image.normal: "media_bg.png";
+ image.border: 11 11 11 11;
+ min: 24 24;
+ max: 24 24;
+ align: 1.0 0.0;
+ }
+ description { state: "expanded" 0.0;
+ inherit: "default" 0.0;
+ min: 216 24;
+ max: 216 24;
+ }
+ }
+ part { name: "play";
+ mouse_events: 1;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ description { state: "default" 0.0;
+ image.normal: "media_pause.png";
+ max: 24 24;
+ align: 1.0 0.0;
+ }
+ description { state: "paused" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "media_play.png";
+ }
+ }
+ part { name: "stop";
+ mouse_events: 1;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ description { state: "default" 0.0;
+ image.normal: "media_stop.png";
+ max: 24 24;
+ rel1.to: "play";
+ rel2.to: "play";
+ rel1.offset: -16 0;
+ rel2.offset: -16 0;
+ }
+ }
+ part { name: "posline";
+ mouse_events: 1;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ description { state: "default" 0.0;
+ image.normal: "media_line.png";
+ image.border: 15 15 0 0;
+ min: 90 14;
+ max: 90 14;
+ rel1.to: "stop";
+ rel2.to: "stop";
+ rel1.offset: -25 0;
+ rel2.offset: -90 0;
+ }
+ }
+ part { name: "terminology.posdrag";
+ mouse_events: 0;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ dragable {
+ confine: "posline";
+ x: 1 1 0;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ image.normal: "media_knob_pos.png";
+ min: 14 14;
+ max: 14 14;
+ }
+ description { state: "muted" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "volline";
+ mouse_events: 1;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ description { state: "default" 0.0;
+ image.normal: "media_line.png";
+ image.border: 15 15 0 0;
+ min: 60 14;
+ max: 60 14;
+ rel1 {
+ to: "posline";
+ offset: -25 0;
+ }
+ rel2 {
+ to: "posline";
+ relative: 0.0 1.0;
+ offset: -60 0;
+ }
+ }
+ }
+ part { name: "terminology.voldrag"; type: IMAGE;
+ mouse_events: 0;
+ repeat_events: 1;
+ clip_to: "media_clip";
+ dragable {
+ confine: "volline";
+ x: 1 1 0;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ image.normal: "media_knob_vol.png";
+ min: 14 14;
+ max: 14 14;
+ }
+ description { state: "muted" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,in"; source: "media_bg";
+ action: STATE_SET "expanded" 0.0;
+ transition: SINUSOIDAL 0.4 CURRENT;
+ target: "media_bg";
+ }
+ program {
+ signal: "mouse,out"; source: "media_bg";
+ action: STATE_SET "default" 0.0;
+ transition: SINUSOIDAL 0.4 CURRENT;
+ target: "media_bg";
+ }
+ program {
+ signal: "mouse,up,*"; source: "play";
+ filter: "play" "default";
+ action: SIGNAL_EMIT "pause" "";
+ }
+ program {
+ signal: "mouse,up,1"; source: "play";
+ filter: "play" "paused";
+ action: SIGNAL_EMIT "play" "";
+ }
+ program {
+ signal: "mouse,up,1"; source: "stop";
+ action: SIGNAL_EMIT "stop" "";
+ }
+ program {
+ signal: "pause,set"; source: "terminology";
+ action: STATE_SET "paused" 0.0;
+ target: "play";
+ }
+ program {
+ signal: "play,set"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "play";
+ }
+ program {
+ signal: "mute,set"; source: "terminology";
+ action: STATE_SET "muted" 0.0;
+ target: "terminology.voldrag";
+ }
+ program {
+ signal: "mute,unset"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "terminology.voldrag";
+ }
+ program {
+ signal: "mouse,down,1"; source: "posline";
+ filter: "terminology.posdrag" "default";
+ script {
+ new x, y, w, h, m_x, m_y;
+ new Float:pos;
+
+ get_geometry(PART:"posline", x, y, w, h);
+ get_mouse(m_x, m_y);
+ pos = m_x - x;
+ pos = pos / w;
+ set_drag(PART:"terminology.posdrag", pos, 0.0);
+ emit("pos,drag,start", "");
+
+ }
+ }
+ program {
+ signal: "mouse,up,1"; source: "posline";
+ action: SIGNAL_EMIT "pos,drag,stop" "";
+ }
+ program {
+ signal: "mouse,move"; source: "posline";
+ script {
+ new x, y, w, h, m_x, m_y;
+ new Float:pos;
+
+ if (!get_mouse_buttons()) return;
+
+ get_geometry(PART:"posline", x, y, w, h);
+ get_mouse(m_x, m_y);
+ pos = m_x - x;
+ pos = pos / w;
+ set_drag(PART:"terminology.posdrag", pos, 0.0);
+ emit("pos,drag", "");
+ }
+ }
+ program {
+ signal: "mouse,down,1"; source: "volline";
+ filter: "terminology.voldrag" "default";
+ script {
+ new x, y, w, h, m_x, m_y;
+ new Float:pos;
+
+ get_geometry(PART:"volline", x, y, w, h);
+ get_mouse(m_x, m_y);
+ pos = m_x - x;
+ pos = pos / w;
+ set_drag(PART:"terminology.voldrag", pos, 0.0);
+ emit("vol,drag", "");
+
+ }
+ }
+ program {
+ signal: "mouse,move"; source: "volline";
+ script {
+ new x, y, w, h, m_x, m_y;
+ new Float:pos;
+
+ if (!get_mouse_buttons()) return;
+
+ get_geometry(PART:"volline", x, y, w, h);
+ get_mouse(m_x, m_y);
+ pos = m_x - x;
+ pos = pos / w;
+ set_drag(PART:"terminology.voldrag", pos, 0.0);
+ emit("vol,drag", "");
+ }
+ }
+ }
+ }
+
+#define ICON(Grp, Img) \
+ group { name: "elm/icon/"##Grp##"/default"; min: 10 10; max: 80 80; \
+ images.image: Img COMP; \
+ parts { part { name: "base"; description { state: "default" 0.0; \
+ aspect: 1.0 1.0; aspect_preference: BOTH; image.normal: Img; \
+ } } } }
+ ICON("new", "icon_new.png");
+ ICON("split-h", "icon_split_h.png");
+ ICON("split-v", "icon_split_v.png");
+ ICON("mini-view", "icon_miniview.png");
+ ICON("close", "icon_close.png");
+ ICON("copy", "icon_copy.png");
+ ICON("paste", "icon_paste.png");
+ ICON("settings", "icon_settings.png");
+ ICON("about", "icon_about.png");
+#undef ICON
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// the about box content image
+ group { name: "terminology/about";
+ images {
+ image: "ab_base.png" COMP;
+ image: "ab_shell.png" COMP;
+ }
+ styles {
+ style { name: "aboutstyle";
+ base: "font=Sans font_size=8 color=#3f1 style=glow glow2_color=#3f13 glow_color=#3f11 wrap=word";
+ tag: "b" "+ color=#8f8 glow2_color=#3f15 glow_color=#3f12";
+ }
+ }
+ parts {
+ part { name: "base";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: (39/198) (27/198);
+ to: "shell";
+ }
+ rel2 {
+ relative: (151/198) (115/198);
+ to: "shell";
+ }
+ image.normal: "ab_base.png";
+ }
+ }
+ part { name: "baseclip"; type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1.to: "base";
+ rel2.to: "base";
+ }
+ }
+ part { name: "terminology.text"; type: TEXTBLOCK;
+ clip_to: "baseclip";
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ max: 10000 10000;
+ rel1 {
+ to: "base";
+ relative: 0.08 1.0;
+ }
+ rel2 {
+ to: "base";
+ relative: 0.97 1.0;
+ }
+ text {
+ style: "aboutstyle";
+ text: "Hello world.<br>This is <b>Terminology</b>, your friendly neighbourhood terminal.<br><br>This needs more text to test vertical scrolling to see if the animation works right.<br>I hope this will be enough now.";
+ min: 0 1;
+ }
+ }
+ description { state: "up" 0.0;
+ inherit: "default" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.08 0.0;
+ rel2.relative: 0.97 0.0;
+ }
+ }
+ part { name: "shell";
+ description { state: "default" 0.0;
+ max: 198 198;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ image.normal: "ab_shell.png";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "begin"; source: "terminology";
+ action: ACTION_STOP;
+ target: "show";
+ target: "show2";
+ after: "begin2";
+ }
+ program { name: "begin2";
+ action: STATE_SET "default" 0.0;
+ target: "terminology.text";
+ after: "show";
+ }
+ program { name: "show";
+ action: STATE_SET "up" 0.0;
+ transition: LINEAR 60.0;
+ target: "terminology.text";
+ after: "show2";
+ }
+ program { name: "show2";
+ action: STATE_SET "default" 0.0;
+ target: "terminology.text";
+ after: "show";
+ }
+ }
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ //// used in the font selection dialog to give a base for black text
+ //// previews so they are always visible
+ group { name: "terminology/fontpreview";
+ images {
+ image: "fn_shadow.png" COMP;
+ }
+ parts {
+ part { name: "shadow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ offset: -2 -1;
+ to: "base";
+ }
+ rel2 {
+ offset: 1 2;
+ to: "base";
+ }
+ image {
+ normal: "fn_shadow.png";
+ border: 5 5 5 5;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part { name: "base"; type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "terminology.text.preview"; type: SWALLOW;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 1 1;
+ }
+ rel2 {
+ to: "base";
+ offset: -2 -2;
+ }
+ }
+ }
+ }
+ }
+
+}