discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6833a131c8657545dacf6384b183625dde2656bf
commit 6833a131c8657545dacf6384b183625dde2656bf Author: Mike Blumenkrantz <[email protected]> Date: Wed Jan 29 13:30:05 2014 -0500 remove e comp iconify theme hacks, add basic iconify effect --- data/themes/edc/comp.edc | 99 ---------------------------------------- data/themes/edc/comp_effects.edc | 78 +++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 99 deletions(-) diff --git a/data/themes/edc/comp.edc b/data/themes/edc/comp.edc index f9bbcad..752cdc0 100644 --- a/data/themes/edc/comp.edc +++ b/data/themes/edc/comp.edc @@ -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"; - } } } diff --git a/data/themes/edc/comp_effects.edc b/data/themes/edc/comp_effects.edc index 9d7aaf8..d937df9 100644 --- a/data/themes/edc/comp_effects.edc +++ b/data/themes/edc/comp_effects.edc @@ -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"; --
