Terminal emulator with all the bells and whistles https://www.enlightenment.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1247 lines
38 KiB

collections {
//////////////////////////////////////////////////////////////////////////////
//// 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 140
#define OUTCOL 120 220 255 128
#define OUTCOL2 180 240 255 144
group { name: "terminology/selection";
images {
image: "select.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: "select.png";
rel2.to_y: "top_clip";
fill.smooth:0;
fill.size.relative: 0.0 1.0;
fill.size.offset: 8 0;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
fill.origin.offset: 16 0;
}
}
part { name: "background_middle";
mouse_events: 0;
clip_to: "middle_clip";
description { state: "default" 0.0;
color: PATCOL;
image.normal: "select.png";
rel1.to_y: "middle_clip";
rel2.to_y: "middle_clip";
fill.smooth:0;
fill.size.relative: 0.0 0.0;
fill.size.offset: 8 15;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
fill.origin.offset: 16 0;
}
}
part { name: "background_bottom";
mouse_events: 0;
clip_to: "bottom_clip";
description { state: "default" 0.0;
color: PATCOL;
image.normal: "select.png";
rel1.to_y: "bottom_clip";
fill.size.relative: 0.0 1.0;
fill.size.offset: 8 0;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
fill.origin.offset: 16 0;
}
}
// 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;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.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;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.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;
}
description { state: "disjoint" 0.0;
inherit: "default" 0.0;
}
description { state: "topfull" 0.0;
inherit: "default" 0.0;
}
description { state: "bottomfull" 0.0;
inherit: "default" 0.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;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "0.right";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "0.top";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "0.bottom";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
program { name: "oneline";
signal: "mode,oneline";
source: "terminology";
action: STATE_SET "oneline" 0.0;
TARGETS;
}
// disjoint:
// | #######|
// |## |
part { name: "1.left";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.right";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.top";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.bottom";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.left2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.right2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.top2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "1.bottom2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
program { name: "disjoint";
signal: "mode,disjoint";
source: "terminology";
action: STATE_SET "disjoint" 0.0;
TARGETS;
}
// default:
// | ###########|
// |######### |
part { name: "2.topkink";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.bottomkink";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.left";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.right";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.top";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.top2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.bottom";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "2.bottom2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
program { name: "multiline";
signal: "mode,multiline";
source: "terminology";
action: STATE_SET "default" 0.0;
TARGETS;
}
// topfull:
// |##############|
// |###### |
part { name: "3.bottomkink";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "3.left";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "3.right";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "3.top";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "3.bottom";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "3.bottom2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
program { name: "topfull";
signal: "mode,topfull";
source: "terminology";
action: STATE_SET "topfull" 0.0;
TARGETS;
}
// bottomfull:
// | ######|
// |##############|
part { name: "4.topkink";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "4.left";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "4.right";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "4.top";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "4.top2";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
part { name: "4.bottom";
mouse_events: 0;
type: RECT;
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;
}
description { state: "pulse" 0.0;
inherit: "default" 0.0;
color: OUTCOL2;
}
}
program { name: "bottomfull";
signal: "mode,bottomfull";
source: "terminology";
action: STATE_SET "bottomfull" 0.0;
TARGETS;
}
#define SELPULSE \
target: "background_top"; \
target: "background_middle"; \
target: "background_bottom"; \
target: "0.left"; \
target: "0.right"; \
target: "0.top"; \
target: "0.bottom"; \
target: "1.left"; \
target: "1.right"; \
target: "1.top"; \
target: "1.bottom"; \
target: "1.left2"; \
target: "1.right2"; \
target: "1.top2"; \
target: "1.bottom2"; \
target: "2.topkink"; \
target: "2.bottomkink"; \
target: "2.left"; \
target: "2.right"; \
target: "2.top2"; \
target: "2.top"; \
target: "2.bottom"; \
target: "2.bottom2"; \
target: "3.bottomkink"; \
target: "3.left"; \
target: "3.right"; \
target: "3.top"; \
target: "3.bottom"; \
target: "3.bottom2"; \
target: "4.topkink"; \
target: "4.left"; \
target: "4.right"; \
target: "4.top2"; \
target: "4.top"; \
target: "4.bottom"
program { name: "selpulse";
signal: "show";
source: "";
action: STATE_SET "pulse" 0.0;
transition: LINEAR 1.0;
SELPULSE;
after: "selpulse2";
}
program { name: "selpulse2";
action: STATE_SET "default" 0.0;
SELPULSE;
after: "selpulse";
}
// 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";
}
}
}
}
//////////////////////////////////////////////////////////////////////////////
//// 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: 100 200 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: 100 200 255 0;
}
description { state: "out" 0.0;
inherit: "default" 0.0;
min: 16 16;
rel1.offset: -10 -1;
rel2.offset: -10 -1;
color: 180 220 255 255;
}
description { state: "out2" 0.0;
inherit: "default" 0.0;
min: 32 32;
rel1.offset: -26 -1;
rel2.offset: -26 -1;
color: 100 200 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: 100 200 255 0;
}
description { state: "out" 0.0;
inherit: "default" 0.0;
min: 16 16;
rel1.offset: 9 -1;
rel2.offset: 9 -1;
color: 180 220 255 255;
}
description { state: "out2" 0.0;
inherit: "default" 0.0;
min: 32 32;
rel1.offset: 25 -1;
rel2.offset: 25 -1;
color: 100 200 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 "default" 0.0;
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";
}
}
}
}
}
#include "nyancursor.edc"
#include "about.edc"