feature: iconify/uniconify animations for windows

This commit is contained in:
Mike Blumenkrantz 2013-12-19 22:22:16 -05:00
parent 03a059bf9d
commit 9dc7d4b5ab
2 changed files with 98 additions and 0 deletions

View File

@ -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";
}
}
}

View File

@ -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"));
}
}
}
}