Luncher: Add the engage style that can be selected for luncher.

Please make sure your e and efl are updated together while using this.  It is not perfect and fairly buggy currently so use at your own risk.
This commit is contained in:
Stephen okra Houston 2016-11-18 14:14:27 -06:00
parent e317099426
commit d5183d7ab7
1 changed files with 230 additions and 6 deletions

View File

@ -1,4 +1,7 @@
group { name: "e/gadget/luncher/bar";
data {
item: styles "default engage";
}
parts {
part { name: "e.swallow.drop"; type: SWALLOW;
description { state: "default" 0.0;
@ -20,12 +23,208 @@ group { name: "e/gadget/luncher/bar";
group { name: "e/gadget/luncher/icon";
script {
public urgent;
public style;
public message(Msg_Type:type, id, ...) {
//Style Variable - Used to Identify Style - Name Must Match an Item in the Data List of e/gadget/luncher/bar
//Style Setting Messages Will Always Have an ID of 1
//Icon Messages Related To The Style Will Have an ID of 2.
//Arguments are in the Following Order:
//X Position of the Cursor
//Y Position of the Cursor
//X Position of Icon
//Y Position of Icon
//Width of icon
//Height of icon
//Location of the bar - 0 is left, 1 is top, 2 is right, 3 is bottom
if ((type == MSG_STRING) && (id == 1)) {
new s[32];
getsarg(2, s, sizeof(s));
set_str(style, s);
}
if ((type == MSG_INT_SET) && (id == 2)) {
new xpos = getarg(2);
new ypos = getarg(3);
new x = getarg(4);
new y = getarg(5);
new w = getarg(6);
new h = getarg(7);
new pos = getarg(8);
new s[32];
get_str(style, s, sizeof(s));
if (!strcmp(s, "default")) {
if ((pos == 0) || (pos == 2)) {
if ((ypos >= y) && (ypos <= (y+h))) {
set_state_anim(PART:"background", "default", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"background", "default", 0.0, LINEAR, 1.0);
}
}
else if ((pos == 1) || (pos == 3)) {
if ((xpos >= x) && (xpos <= (x+w))) {
set_state_anim(PART:"background", "visible", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"background", "default", 0.0, LINEAR, 1.0);
}
}
}
else if (!strcmp(s, "engage")) {
if (pos == 0) {
if ((ypos >= y) && (ypos <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, -0.5);
set_state_val(PART:"sizer", STATE_REL2, 2.0, 1.5);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos-h) >= y) && ((ypos-h) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, -0.3);
set_state_val(PART:"sizer", STATE_REL2, 1.6, 1.3);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos+h) >= y) && ((ypos+h) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, -0.3);
set_state_val(PART:"sizer", STATE_REL2, 1.6, 1.3);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos-(h*2)) >= y) && ((ypos-(h*2)) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, -0.2);
set_state_val(PART:"sizer", STATE_REL2, 1.4, 1.2);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos+(h*2)) >= y) && ((ypos+(h*2)) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, -0.2);
set_state_val(PART:"sizer", STATE_REL2, 1.4, 1.2);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
}
}
else if (pos == 1) {
if ((xpos >= x) && (xpos <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.5, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 1.5, 2.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos-w) >= x) && ((xpos-w) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.3, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 1.3, 1.6);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos+w) >= x) && ((xpos+w) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.3, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 1.3, 1.6);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos-(w*2)) >= x) && ((xpos-(w*2)) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.2, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 1.2, 1.4);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos+(w*2)) >= x) && ((xpos+(w*2)) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.2, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 1.2, 1.4);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
}
}
else if (pos == 2) {
if ((ypos >= y) && (ypos <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -1.0, -0.5);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 1.5);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos-h) >= y) && ((ypos-h) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.6, -0.3);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 1.3);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos+h) >= y) && ((ypos+h) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.6, -0.3);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 1.3);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos-(h*2)) >= y) && ((ypos-(h*2)) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.4, -0.2);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 1.2);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((ypos+(h*2)) >= y) && ((ypos+(h*2)) <= (y+h))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.4, -0.2);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 1.2);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
}
}
else if (pos == 3) {
if ((xpos >= x) && (xpos <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.5, -1.0);
set_state_val(PART:"sizer", STATE_REL2, 1.5, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos-w) >= x) && ((xpos-w) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.3, -0.6);
set_state_val(PART:"sizer", STATE_REL2, 1.3, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos+w) >= x) && ((xpos+w) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.3, -0.6);
set_state_val(PART:"sizer", STATE_REL2, 1.3, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos-(w*2)) >= x) && ((xpos-(w*2)) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.2, -0.4);
set_state_val(PART:"sizer", STATE_REL2, 1.2, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else if (((xpos+(w*2)) >= x) && ((xpos+(w*2)) <= (x+w))) {
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, -0.2, -0.4);
set_state_val(PART:"sizer", STATE_REL2, 1.2, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
}
else {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
}
}
}
emit("e,state,resized", "e");
}
}
}
parts {
part { name: "item_clip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "e.swallow.icon";
rel2.to: "e.swallow.icon";
rel1.to: "sizer";
rel2.to: "sizer";
rel1.offset: -100 -100;
rel2.offset: 99 99;
color: 255 255 255 255;
@ -35,13 +234,24 @@ group { name: "e/gadget/luncher/icon";
color: 255 255 255 64;
}
}
part { name: "sizer"; type: RECT;
clip_to: "item_clip";
mouse_events: 0;
description {
align: 0 0;
state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
color: 255 255 255 0;
}
}
part { name: "background"; type: RECT;
clip_to: "item_clip";
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
rel1.to: "sizer";
rel2.to: "sizer";
color: 255 255 255 0;
}
description { state: "visible" 0.0;
@ -52,9 +262,12 @@ group { name: "e/gadget/luncher/icon";
}
part { name: "indicator"; type: RECT;
clip_to: "item_clip";
mouse_events: 0;
description { state: "default" 0.0;
visible: 0;
align: 0.6 0.6;
rel1.to: "sizer";
rel2.to: "sizer";
color: 255 255 255 0;
}
description { state: "on_left" 0.0;
@ -97,10 +310,11 @@ group { name: "e/gadget/luncher/icon";
part { name: "e.swallow.icon"; type: SWALLOW;
clip_to: "item_clip";
mouse_events: 1;
repeat_events: 1;
description { state: "default" 0.0;
align: 0.5 0.5;
rel1.offset: 0 0;
rel2.offset: -1 -1;
rel1.to: "sizer";
rel2.to: "sizer";
}
description { state: "on_left" 0.0;
inherit: "default" 0.0;
@ -138,6 +352,8 @@ group { name: "e/gadget/luncher/icon";
clip_to: "item_clip";
description { state: "default" 0.0;
visible: 0;
rel1.to: "sizer";
rel2.to: "sizer";
color: 255 255 255 0;
}
description { state: "visible" 0.0;
@ -170,14 +386,22 @@ group { name: "e/gadget/luncher/icon";
}
}
programs {
program { name: "set_default";
signal: "e,state,default"; source: "e";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.2;
target: "sizer";
}
program { name: "focused";
signal: "e,state,focused"; source: "e";
action: STATE_SET "visible" 0.0;
transition: LINEAR 0.5;
target: background;
}
program { name: "unfocused";
signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.5;
target: background;
}
program { name: "starting";