discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=a9ddcfbafc56ac9e073ae3164a49a6322cb4e273
commit a9ddcfbafc56ac9e073ae3164a49a6322cb4e273 Author: Mike Blumenkrantz <zm...@samsung.com> Date: Thu Dec 19 22:22:16 2013 -0500 feature: iconify/uniconify animations for windows --- data/themes/edc/comp.edc | 58 ++++++++++++++++++++++++++++++++++++++++++ data/themes/edc/deskmirror.edc | 40 +++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/data/themes/edc/comp.edc b/data/themes/edc/comp.edc index e3aeea0..93561c0 100644 --- a/data/themes/edc/comp.edc +++ b/data/themes/edc/comp.edc @@ -289,6 +289,10 @@ group { name: "e/comp/frame/default"; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } + description { state: "iconic"; + rel1.relative: 0.0 1.0; + rel2.relative: 0.0 1.0; + } } part { name: "focus-clipper"; type: RECT; @@ -313,6 +317,10 @@ group { name: "e/comp/frame/default"; } } } + script { + public iconifying; + public uniconifying; + } programs { program { name: "visible_on"; @@ -395,6 +403,48 @@ 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: DECELERATE 0.4 CURRENT; + target: "shower"; + after: "iconify_defer"; + } + program { name: "uniconify"; + action: STATE_SET "visible" 0.0; + transition: DECELERATE 0.4 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")); + } + } } } @@ -589,6 +639,14 @@ 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/deskmirror.edc b/data/themes/edc/deskmirror.edc index 7d164bd..5a81ed9 100644 --- a/data/themes/edc/deskmirror.edc +++ b/data/themes/edc/deskmirror.edc @@ -31,11 +31,20 @@ group { name: "e/deskmirror/frame/default"; rel2.to_y: "e.swallow.client"; } } + part { name: "spacer"; type: SPACER; + description { state: "default"; + } + description { state: "iconic"; + rel1.relative: 0.0 1.0; + rel2.relative: 0.0 1.0; + } + } part { name: "e.swallow.client"; type: SWALLOW; clip_to: "client_clip"; description { state: "default" 0.0; rel1.to_y: "top"; rel1.relative: 0 1; + rel2.to: "spacer"; } } part { name: "top"; @@ -44,6 +53,7 @@ group { name: "e/deskmirror/frame/default"; image.normal: "vgrad_med_lighter.png"; fill.smooth: 0; TILED_HORIZ(120) + rel1.to: "spacer"; rel2.to_y: "title2"; rel2.offset: -1 -4; min: 0 1; @@ -65,8 +75,10 @@ group { name: "e/deskmirror/frame/default"; description { state: "default" 0.0; color_class: "border_title"; rel1.offset: 1 3; + rel1.to: "spacer"; rel2.relative: 1.0 0.0; rel2.offset: -2 3; + rel2.to: "spacer"; align: 0.5 0.0; color: 21 21 21 255; color3: 255 255 255 25; @@ -85,8 +97,10 @@ group { name: "e/deskmirror/frame/default"; description { state: "default" 0.0; color_class: "border_title_active"; rel1.offset: 1 2; + rel1.to: "spacer"; rel2.relative: 1.0 0.0; rel2.offset: -1 2; + rel2.to: "spacer"; align: 0.5 0.0; color: 255 255 255 255; color3: 0 0 0 18; @@ -105,8 +119,10 @@ group { name: "e/deskmirror/frame/default"; description { state: "default" 0.0; color_class: "border_bottom"; rel1.to_y: "e.swallow.client"; + rel1.to_x: "spacer"; rel1.relative: 0.0 1.0; rel1.offset: 0 -3; + rel2.to: "spacer"; min: 0 1; color: 64 64 64 255; fixed: 0 1; @@ -326,6 +342,30 @@ group { name: "e/deskmirror/frame/default"; target: "bottom"; target: "bevel2"; } + program { name: "iconify"; + action: STATE_SET "iconic" 0.0; + transition: DECELERATE 0.4 CURRENT; + target: "spacer"; + } + program { name: "uniconify"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.4 CURRENT; + target: "spacer"; + } + program { + signal: "e,action,uniconify"; source: "e"; + script { + stop_program(get_program_id("iconify")); + run_program(get_program_id("uniconify")); + } + } + program { + signal: "e,action,iconify"; source: "e"; + script { + stop_program(get_program_id("uniconify")); + run_program(get_program_id("iconify")); + } + } } } --