group { name: "e/comp/frame/default";
images.image: "win_glow.png" COMP;
- script {
- public iconifying;
- public uniconifying;
-
- public message(Msg_Type:type, id, ...) {
- // relative to obj x/y/w/h for src/dst of iconify
- if ((type == MSG_INT_SET) && (id == 10)) {
- new x, y, w, h;
- x = getarg(2);
- y = getarg(3);
- w = getarg(4);
- h = getarg(5);
- custom_state(PART:"iconify-src", "default", 0.0);
- set_state_val(PART:"iconify-src", STATE_REL1, 0.0, 0.0);
- set_state_val(PART:"iconify-src", STATE_REL2, 0.0, 0.0);
- set_state_val(PART:"iconify-src", STATE_REL1_OFFSET, x, y);
- set_state_val(PART:"iconify-src", STATE_REL2_OFFSET, x + w - 1, y + h - 1);
- set_state(PART:"iconify-src", "custom", 0.0);
- }
- }
- }
parts {
- part { name: "iconify-src"; type: SPACER;
- description { state: "default" 0.0;
- rel2.relative: 0.0 0.0;
- rel2.offset: 0 0;
- }
- }
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
rel1.relative: -1.0 -1.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
- description { state: "iconic";
- rel1.to: "iconify-src";
- rel2.to: "iconify-src";
- }
}
part { name: "focus-clipper";
type: RECT;
transition: SINUSOIDAL 0.6 CURRENT;
target: "glow";
}
- program { name: "iconify_defer";
- action: SIGNAL_EMIT "e,action,iconify,done" "e";
- }
- program { name: "uniconify_defer";
- action: SIGNAL_EMIT "e,action,uniconify,done" "e";
- }
- program { name: "iconify";
- action: STATE_SET "iconic" 0.0;
- transition: ACCELERATE_FACTOR 0.4 2 CURRENT;
- target: "shower";
- after: "iconify_defer";
- }
- program { name: "uniconify";
- action: STATE_SET "visible" 0.0;
- transition: DECELERATE_FACTOR 0.2 2 CURRENT;
- target: "shower";
- after: "uniconify_defer";
- }
- program {
- signal: "e,action,uniconify"; source: "e";
- script {
- if (iconifying==1) {
- stop_program(get_program_id("iconify"));
- iconifying=0;
- run_program(get_program_id("iconify_defer"));
- }
- uniconifying=1;
- run_program(get_program_id("uniconify"));
- }
- }
- program {
- signal: "e,action,iconify"; source: "e";
- script {
- if (uniconifying==1) {
- stop_program(get_program_id("uniconify"));
- uniconifying=0;
- run_program(get_program_id("uniconify_defer"));
- }
- iconifying=1;
- run_program(get_program_id("iconify"));
- }
- }
}
}
program { name: "focus_off3";
transition: LINEAR 0;
}
- program { name: "iconify";
- transition: DECELERATE 0.15 CURRENT;
- }
- program { name: "uniconify";
- transition: DECELERATE 0.15 CURRENT;
- }
}
}
program { name: "focus_off3";
transition: LINEAR 0;
}
- program { name: "iconify";
- transition: DECELERATE 0.15 CURRENT;
- }
- program { name: "uniconify";
- transition: DECELERATE 0.15 CURRENT;
- }
}
}
name: "focus_off";
transition: SINUSOIDAL 0;
}
- program { name: "iconify";
- transition: DECELERATE 0.15 CURRENT;
- }
- program { name: "uniconify";
- transition: DECELERATE 0.15 CURRENT;
- }
}
}
signal: "e,state,hidden"; source: "e";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
- program {
- signal: "e,action,iconify"; source: "e";
- action: SIGNAL_EMIT "e,action,iconify,done" "e";
- }
- program {
- signal: "e,action,uniconify"; source: "e";
- action: SIGNAL_EMIT "e,action,uniconify,done" "e";
- }
}
}
}
}
+group { name: "e/comp/effects/iconify/default";
+ alias: "e/comp/effects/iconify/ibar";
+ alias: "e/comp/effects/iconify/ibox";
+ alias: "e/comp/effects/iconify/tasks";
+ inherit: "e/comp/effects/auto/pane";
+ data.item: "noclip" "1";
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((type == MSG_INT_SET) && (id == 0)) {
+ /* set state */
+ new st;
+
+ st = getarg(2);
+
+ if (st == 1)
+ set_state(PART:"mover", "custom", 0.0);
+ else
+ set_state(PART:"mover", "default", 0.0);
+ } else if ((type == MSG_INT_SET) && (id == 1)) {
+ // border geom[4] / destination[4]
+ new x, y, w, h;
+ new dx, dy, dw, dh;
+ x = getarg(2);
+ y = getarg(3);
+ w = getarg(4);
+ h = getarg(5);
+ dx = getarg(6);
+ dy = getarg(7);
+ dw = getarg(8);
+ dh = getarg(9);
+ x = x + (w / 2);
+ y = y + (h / 2);
+ dx = dx - x;
+ dy = dy - y;
+ custom_state(PART:"mover", "default", 0.0);
+ set_state_val(PART:"mover", STATE_REL1, 1.0, 1.0);
+ set_state_val(PART:"mover", STATE_REL2, 0.0, 0.0);
+ set_state_val(PART:"mover", STATE_REL1_OFFSET, dx, dy);
+ set_state_val(PART:"mover", STATE_REL2_OFFSET, dx + dw - 1, dy + dh - 1);
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show"; //iconify
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "default";
+ action: STATE_SET "custom" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "hide"; //iconify
+ signal: "e,action,go";
+ source: "e";
+ filter: "mover" "custom";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
+ target: "mover";
+ after: "done";
+ }
+ program {
+ name: "stop";
+ signal: "e,action,stop";
+ source: "e";
+ action: ACTION_STOP;
+ target: "show";
+ target: "hide";
+ }
+ program {
+ name: "done";
+ action: SIGNAL_EMIT "e,action,done" "e";
+ }
+ }
+}
+
#if 0 //this is weirdly broken with proxy visibility somehow...
group { name: "e/comp/effects/auto/rotate";
inherit: "e/comp/effects/auto/pane";