remove e comp iconify theme hacks, add basic iconify effect

This commit is contained in:
Mike Blumenkrantz 2014-01-29 13:30:05 -05:00
parent 98645c31d3
commit 564ddb4c58
2 changed files with 78 additions and 99 deletions

View File

@ -247,34 +247,7 @@ group { name: "e/comp/screen/overlay/noeffects";
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;
@ -320,10 +293,6 @@ group { name: "e/comp/frame/default";
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;
@ -430,48 +399,6 @@ group { name: "e/comp/frame/default";
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"));
}
}
}
}
@ -525,12 +452,6 @@ group { name: "e/comp/frame/rotate/fast";
program { name: "focus_off3";
transition: LINEAR 0;
}
program { name: "iconify";
transition: DECELERATE 0.15 CURRENT;
}
program { name: "uniconify";
transition: DECELERATE 0.15 CURRENT;
}
}
}
@ -568,12 +489,6 @@ group { name: "e/comp/frame/flip/fast";
program { name: "focus_off3";
transition: LINEAR 0;
}
program { name: "iconify";
transition: DECELERATE 0.15 CURRENT;
}
program { name: "uniconify";
transition: DECELERATE 0.15 CURRENT;
}
}
}
@ -647,12 +562,6 @@ group { name: "e/comp/frame/default/fast";
name: "focus_off";
transition: SINUSOIDAL 0;
}
program { name: "iconify";
transition: DECELERATE 0.15 CURRENT;
}
program { name: "uniconify";
transition: DECELERATE 0.15 CURRENT;
}
}
}
@ -713,14 +622,6 @@ group { name: "e/comp/frame/none";
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";
}
}
}

View File

@ -420,6 +420,84 @@ group { name: "e/comp/effects/auto/grow";
}
}
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";