forked from enlightenment/enlightenment
fix remote type
start module actualyl has a semblance of working well... :) SVN revision: 14835
This commit is contained in:
parent
baad135e9f
commit
20ad23ab6c
|
@ -313,6 +313,7 @@ group {
|
||||||
mouse_events: 0;
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
rel1 {
|
rel1 {
|
||||||
relative: 0.0 0.0;
|
relative: 0.0 0.0;
|
||||||
offset: 0 0;
|
offset: 0 0;
|
||||||
|
@ -327,6 +328,7 @@ group {
|
||||||
}
|
}
|
||||||
description {
|
description {
|
||||||
state: "visible" 0.0;
|
state: "visible" 0.0;
|
||||||
|
visible: 1;
|
||||||
rel1 {
|
rel1 {
|
||||||
relative: 0.0 0.0;
|
relative: 0.0 0.0;
|
||||||
offset: 0 0;
|
offset: 0 0;
|
||||||
|
@ -341,6 +343,7 @@ group {
|
||||||
}
|
}
|
||||||
description {
|
description {
|
||||||
state: "hidden" 0.0;
|
state: "hidden" 0.0;
|
||||||
|
visible: 1;
|
||||||
rel1 {
|
rel1 {
|
||||||
relative: -0.5 -0.5;
|
relative: -0.5 -0.5;
|
||||||
offset: 0 0;
|
offset: 0 0;
|
||||||
|
|
|
@ -1,22 +1,565 @@
|
||||||
group {
|
group {
|
||||||
name: "modules/start/main";
|
name: "modules/start/main";
|
||||||
max: 128 128;
|
max: 128 128;
|
||||||
|
script {
|
||||||
|
public is_active;
|
||||||
|
public is_hilited;
|
||||||
|
}
|
||||||
parts {
|
parts {
|
||||||
part {
|
part {
|
||||||
name: "base";
|
name: "title_shadow2";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_shadow2.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_shadow2.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "title_shadow1";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_shadow1.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_shadow1.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "title_bar";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar.png";
|
||||||
|
border: 8 8 8 8;
|
||||||
|
}
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "logo";
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
aspect: 1.0 1.0;
|
aspect: 1.0 1.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
relative: 0.1 0.1;
|
to: "title_bar";
|
||||||
|
offset: 7 7;
|
||||||
}
|
}
|
||||||
rel2 {
|
rel2 {
|
||||||
relative: 0.9 0.9;
|
to: "title_bar";
|
||||||
|
offset: -8 -8;
|
||||||
}
|
}
|
||||||
image {
|
image {
|
||||||
normal: "e17_logo.png";
|
normal: "e17_logo.png";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
to: "title_bar";
|
||||||
|
offset: 9 9;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "title_bar";
|
||||||
|
offset: -10 -10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "title_glint_clip";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
offset: 3 3;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
offset: -4 -4;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "title_glint_1";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
align: 0.0 0.0;
|
||||||
|
max: 34 13;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 2 2;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -3 -3;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_glint1.png";
|
||||||
|
border: 5 0 5 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "title_glint_2";
|
||||||
|
mouse_events: 0;
|
||||||
|
clip_to: "title_glint_clip";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
max: 0 0;
|
||||||
|
align: 1.0 0.5;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 3 3;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.0 1.0;
|
||||||
|
offset: 0 -4;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_glint2.png";
|
||||||
|
border: 0 0 5 5;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
max: 169 9999;
|
||||||
|
min: 169 8;
|
||||||
|
align: 0.5 0.5;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 3 3;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.0 1.0;
|
||||||
|
offset: 3 -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active2" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 128;
|
||||||
|
max: 169 9999;
|
||||||
|
min: 169 8;
|
||||||
|
align: 0.5 0.5;
|
||||||
|
rel1 {
|
||||||
|
relative: 1.0 0.0;
|
||||||
|
offset: -4 3;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -4 -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active3" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
max: 169 9999;
|
||||||
|
min: 169 8;
|
||||||
|
align: 0.0 0.5;
|
||||||
|
rel1 {
|
||||||
|
relative: 1.0 0.0;
|
||||||
|
offset: -4 3;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -4 -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "title_glint_3";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
align: 1.0 1.0;
|
||||||
|
max: 34 13;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 2 2;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -3 -3;
|
||||||
|
to: "title_bar";
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "e17_titlebar_glint3.png";
|
||||||
|
border: 0 5 0 5;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "active" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "logo2";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
rel1 {
|
||||||
|
to: "logo";
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "logo";
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "e17_logo.png";
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "visible" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
rel1 {
|
||||||
|
relative: -0.5 -0.5;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.5 1.5;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "inout";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "init";
|
||||||
|
signal: "load";
|
||||||
|
source: "";
|
||||||
|
script {
|
||||||
|
set_int(is_active, 0);
|
||||||
|
set_int(is_hilited, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "mouse_in";
|
||||||
|
signal: "mouse,in";
|
||||||
|
source: "inout";
|
||||||
|
script {
|
||||||
|
new val;
|
||||||
|
|
||||||
|
val = get_int(is_active);
|
||||||
|
if (val == 0)
|
||||||
|
{
|
||||||
|
run_program(PROGRAM:"go_active_pre");
|
||||||
|
set_int(is_hilited, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "mouse_out";
|
||||||
|
signal: "mouse,out";
|
||||||
|
source: "inout";
|
||||||
|
script {
|
||||||
|
new val;
|
||||||
|
|
||||||
|
val = get_int(is_active);
|
||||||
|
if (val == 0)
|
||||||
|
{
|
||||||
|
run_program(PROGRAM:"go_passive_pre");
|
||||||
|
set_int(is_hilited, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "handle_active";
|
||||||
|
signal: "active";
|
||||||
|
source: "";
|
||||||
|
script {
|
||||||
|
new val;
|
||||||
|
|
||||||
|
set_int(is_active, 1);
|
||||||
|
val = get_int(is_hilited);
|
||||||
|
if (val == 0)
|
||||||
|
run_program(PROGRAM:"go_active_pre");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "handle_passive";
|
||||||
|
signal: "passive";
|
||||||
|
source: "";
|
||||||
|
script {
|
||||||
|
new val;
|
||||||
|
|
||||||
|
set_int(is_active, 0);
|
||||||
|
val = get_int(is_hilited);
|
||||||
|
if (val == 1)
|
||||||
|
{
|
||||||
|
run_program(PROGRAM:"go_passive_pre");
|
||||||
|
set_int(is_hilited, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "go_active_pre";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_bar";
|
||||||
|
target: "title_shadow1";
|
||||||
|
target: "title_shadow2";
|
||||||
|
after: "go_active";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_bar";
|
||||||
|
transition: LINEAR 0.05;
|
||||||
|
after: "go_active2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active2";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_shadow1";
|
||||||
|
transition: LINEAR 0.05;
|
||||||
|
after: "go_active3";
|
||||||
|
after: "go_active3b";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active3";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_shadow2";
|
||||||
|
transition: LINEAR 0.05;
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active3b";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_glint_1";
|
||||||
|
target: "title_glint_2";
|
||||||
|
transition: LINEAR 0.05;
|
||||||
|
after: "go_active4";
|
||||||
|
after: "go_active4b";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active4";
|
||||||
|
action: STATE_SET "active2" 0.0;
|
||||||
|
target: "title_glint_2";
|
||||||
|
transition: LINEAR 0.2;
|
||||||
|
after: "go_active5";
|
||||||
|
after: "go_active5b";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active4b";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_glint_3";
|
||||||
|
transition: LINEAR 0.2;
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active5";
|
||||||
|
action: STATE_SET "active3" 0.0;
|
||||||
|
target: "title_glint_2";
|
||||||
|
transition: LINEAR 0.05;
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active5b";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_glint_3";
|
||||||
|
transition: LINEAR 0.1;
|
||||||
|
after: "go_active6";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_active6";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_glint_1";
|
||||||
|
target: "title_glint_2";
|
||||||
|
target: "title_glint_3";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "logo_go_active";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
transition: LINEAR 0.2;
|
||||||
|
target: "logo";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "go_passive_pre";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "active" 0.0;
|
||||||
|
target: "title_bar";
|
||||||
|
target: "title_shadow1";
|
||||||
|
target: "title_shadow2";
|
||||||
|
after: "go_passive";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_passive";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_shadow2";
|
||||||
|
transition: LINEAR 0.1;
|
||||||
|
after: "go_passive2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_passive2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_shadow1";
|
||||||
|
transition: LINEAR 0.1;
|
||||||
|
after: "go_passive3";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "go_passive3";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "title_bar";
|
||||||
|
transition: LINEAR 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "logo_go_passive";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "logo";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "hover_go_active";
|
||||||
|
signal: "active";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "visible" 0.0;
|
||||||
|
target: "logo2";
|
||||||
|
after: "hover_go_active2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "hover_go_active2";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
target: "logo2";
|
||||||
|
after: "hover_go_active";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "hover_go_passive";
|
||||||
|
signal: "passive";
|
||||||
|
source: "";
|
||||||
|
action: ACTION_STOP;
|
||||||
|
target: "hover_go_active";
|
||||||
|
target: "hover_go_active2";
|
||||||
|
after: "hover_go_passive2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "hover_go_passive2";
|
||||||
|
signal: "";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "logo2";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -492,6 +492,9 @@ _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
|
||||||
bd->client.icccm.class);
|
bd->client.icccm.class);
|
||||||
if (a) e_menu_item_icon_edje_set(mi, a->path, "icon");
|
if (a) e_menu_item_icon_edje_set(mi, a->path, "icon");
|
||||||
}
|
}
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("Cleanup Windows"));
|
e_menu_item_label_set(mi, _("Cleanup Windows"));
|
||||||
e_menu_item_icon_edje_set(mi,
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
|
215
src/bin/e_menu.c
215
src/bin/e_menu.c
|
@ -43,6 +43,7 @@ static void _e_menu_item_activate_previous (void);
|
||||||
static void _e_menu_activate_next (void);
|
static void _e_menu_activate_next (void);
|
||||||
static void _e_menu_activate_previous (void);
|
static void _e_menu_activate_previous (void);
|
||||||
static void _e_menu_activate_first (void);
|
static void _e_menu_activate_first (void);
|
||||||
|
static void _e_menu_activate_last (void);
|
||||||
static void _e_menu_activate_nth (int n);
|
static void _e_menu_activate_nth (int n);
|
||||||
static E_Menu *_e_menu_active_get (void);
|
static E_Menu *_e_menu_active_get (void);
|
||||||
static E_Menu_Item *_e_menu_item_active_get (void);
|
static E_Menu_Item *_e_menu_item_active_get (void);
|
||||||
|
@ -50,6 +51,7 @@ static int _e_menu_outside_bounds_get (int xdir, int ydir);
|
||||||
static void _e_menu_scroll_by (int dx, int dy);
|
static void _e_menu_scroll_by (int dx, int dy);
|
||||||
static void _e_menu_mouse_autoscroll_check (void);
|
static void _e_menu_mouse_autoscroll_check (void);
|
||||||
static void _e_menu_item_ensure_onscreen (E_Menu_Item *mi);
|
static void _e_menu_item_ensure_onscreen (E_Menu_Item *mi);
|
||||||
|
static int _e_menu_auto_place (E_Menu *m, int x, int y, int w, int h);
|
||||||
static void _e_menu_cb_intercept_item_move (void *data, Evas_Object *o, Evas_Coord x, Evas_Coord y);
|
static void _e_menu_cb_intercept_item_move (void *data, Evas_Object *o, Evas_Coord x, Evas_Coord y);
|
||||||
static void _e_menu_cb_intercept_item_resize (void *data, Evas_Object *o, Evas_Coord w, Evas_Coord h);
|
static void _e_menu_cb_intercept_item_resize (void *data, Evas_Object *o, Evas_Coord w, Evas_Coord h);
|
||||||
static void _e_menu_cb_intercept_container_move (void *data, Evas_Object *o, Evas_Coord x, Evas_Coord y);
|
static void _e_menu_cb_intercept_container_move (void *data, Evas_Object *o, Evas_Coord x, Evas_Coord y);
|
||||||
|
@ -149,9 +151,47 @@ e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir
|
||||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||||
_e_menu_activate_time = 0.0;
|
_e_menu_activate_time = 0.0;
|
||||||
_e_menu_activate_internal(m, zone);
|
_e_menu_activate_internal(m, zone);
|
||||||
m->cur.x = x + w;
|
switch (dir)
|
||||||
m->cur.y = y + h;
|
{
|
||||||
_e_menu_activate_first();
|
case E_MENU_POP_DIRECTION_LEFT:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x - m->cur.w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
_e_menu_activate_first();
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_RIGHT:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
_e_menu_activate_first();
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_UP:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y - m->cur.h;
|
||||||
|
_e_menu_activate_last();
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_DOWN:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
_e_menu_activate_first();
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_AUTO:
|
||||||
|
{
|
||||||
|
int pos;
|
||||||
|
|
||||||
|
pos = _e_menu_auto_place(m, x, y, w, h);
|
||||||
|
if (pos == 4)
|
||||||
|
_e_menu_activate_last();
|
||||||
|
else
|
||||||
|
_e_menu_activate_first();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
_e_menu_activate_first();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -165,9 +205,34 @@ e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int d
|
||||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||||
_e_menu_activate_time = ecore_time_get();
|
_e_menu_activate_time = ecore_time_get();
|
||||||
_e_menu_activate_internal(m, zone);
|
_e_menu_activate_internal(m, zone);
|
||||||
m->cur.x = x + w;
|
switch (dir)
|
||||||
m->cur.y = y + h;
|
{
|
||||||
|
case E_MENU_POP_DIRECTION_LEFT:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x - m->cur.w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_RIGHT:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_UP:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y - m->cur.h;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_DOWN:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_AUTO:
|
||||||
|
_e_menu_auto_place(m, x, y, w, h);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
break;
|
||||||
|
}
|
||||||
pmi = _e_menu_item_active_get();
|
pmi = _e_menu_item_active_get();
|
||||||
if (pmi) e_menu_item_active_set(pmi, 0);
|
if (pmi) e_menu_item_active_set(pmi, 0);
|
||||||
}
|
}
|
||||||
|
@ -183,8 +248,34 @@ e_menu_activate(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir)
|
||||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||||
_e_menu_activate_time = 0.0;
|
_e_menu_activate_time = 0.0;
|
||||||
_e_menu_activate_internal(m, zone);
|
_e_menu_activate_internal(m, zone);
|
||||||
m->cur.x = x;
|
switch (dir)
|
||||||
m->cur.y = y;
|
{
|
||||||
|
case E_MENU_POP_DIRECTION_LEFT:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x - m->cur.w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_RIGHT:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y ;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_UP:
|
||||||
|
_e_menu_realize(m);
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y - m->cur.h;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_DOWN:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
break;
|
||||||
|
case E_MENU_POP_DIRECTION_AUTO:
|
||||||
|
_e_menu_auto_place(m, x, y, w, h);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
m->cur.x = x + w;
|
||||||
|
m->cur.y = y + h;
|
||||||
|
break;
|
||||||
|
}
|
||||||
pmi = _e_menu_item_active_get();
|
pmi = _e_menu_item_active_get();
|
||||||
if (pmi) e_menu_item_active_set(pmi, 0);
|
if (pmi) e_menu_item_active_set(pmi, 0);
|
||||||
}
|
}
|
||||||
|
@ -1695,7 +1786,7 @@ _e_menu_activate_previous(void)
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_e_menu_activate_first();
|
_e_menu_activate_last();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1720,6 +1811,28 @@ _e_menu_activate_first(void)
|
||||||
_e_menu_item_ensure_onscreen(mi);
|
_e_menu_item_ensure_onscreen(mi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_menu_activate_last(void)
|
||||||
|
{
|
||||||
|
E_Menu *m;
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
Evas_List *ll;
|
||||||
|
|
||||||
|
if (!_e_active_menus) return;
|
||||||
|
m = _e_active_menus->data;
|
||||||
|
if (!m->items) return;
|
||||||
|
ll = evas_list_last(m->items);
|
||||||
|
mi = ll->data;
|
||||||
|
while ((mi->separator) && (ll->prev))
|
||||||
|
{
|
||||||
|
ll = ll->prev;
|
||||||
|
mi = ll->data;
|
||||||
|
}
|
||||||
|
if (mi->separator) return;
|
||||||
|
e_menu_item_active_set(mi, 1);
|
||||||
|
_e_menu_item_ensure_onscreen(mi);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_menu_activate_nth(int n)
|
_e_menu_activate_nth(int n)
|
||||||
{
|
{
|
||||||
|
@ -1927,6 +2040,89 @@ _e_menu_item_ensure_onscreen(E_Menu_Item *mi)
|
||||||
_e_menu_scroll_by(dx, dy);
|
_e_menu_scroll_by(dx, dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_e_menu_auto_place(E_Menu *m, int x, int y, int w, int h)
|
||||||
|
{
|
||||||
|
double xr, yr;
|
||||||
|
|
||||||
|
_e_menu_realize(m);
|
||||||
|
/* +-----+
|
||||||
|
* |\ T /|
|
||||||
|
* | \ / |
|
||||||
|
* |L X R|
|
||||||
|
* | / \ |
|
||||||
|
* |/ B \|
|
||||||
|
* +-----+
|
||||||
|
*
|
||||||
|
* quadrants... which one
|
||||||
|
*/
|
||||||
|
if (w != m->zone->container->w)
|
||||||
|
xr = (double)(x - m->zone->container->x) /
|
||||||
|
(double)(m->zone->container->w - w);
|
||||||
|
else
|
||||||
|
xr = 0.0;
|
||||||
|
if (h != m->zone->container->h)
|
||||||
|
yr = (double)(y - m->zone->container->y) /
|
||||||
|
(double)(m->zone->container->h - h);
|
||||||
|
else
|
||||||
|
yr = 0.0;
|
||||||
|
if ((xr + yr) < 0.99) /* top or left */
|
||||||
|
{
|
||||||
|
if (((1.0 - yr) + xr) <= 1.0)
|
||||||
|
/* L */
|
||||||
|
{
|
||||||
|
m->cur.x = x + w;
|
||||||
|
if (y < (m->zone->container->y + ((m->zone->container->h * 1) / 3)))
|
||||||
|
m->cur.y = y;
|
||||||
|
else if (y < (m->zone->container->y + ((m->zone->container->h * 2) / 3)))
|
||||||
|
m->cur.y = y + ((h - m->cur.h) / 2);
|
||||||
|
else
|
||||||
|
m->cur.y = y + h - m->cur.h;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* T */
|
||||||
|
{
|
||||||
|
m->cur.y = y + h;
|
||||||
|
if (x < (m->zone->container->x + ((m->zone->container->w * 1) / 3)))
|
||||||
|
m->cur.x = x;
|
||||||
|
else if (x < (m->zone->container->x + ((m->zone->container->w * 2) / 3)))
|
||||||
|
m->cur.x = x + ((w - m->cur.w) / 2);
|
||||||
|
else
|
||||||
|
m->cur.x = x + w - m->cur.w;
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else /* bottom or right */
|
||||||
|
{
|
||||||
|
if (((1.0 - yr) + xr) <= 1.01)
|
||||||
|
/* B */
|
||||||
|
{
|
||||||
|
m->cur.y = y - m->cur.h;
|
||||||
|
if (x < (m->zone->container->x + ((m->zone->container->w * 1) / 3)))
|
||||||
|
m->cur.x = x;
|
||||||
|
else if (x < (m->zone->container->x + ((m->zone->container->w * 2) / 3)))
|
||||||
|
m->cur.x = x + ((w - m->cur.w) / 2);
|
||||||
|
else
|
||||||
|
m->cur.x = x + w - m->cur.w;
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* R */
|
||||||
|
{
|
||||||
|
m->cur.x = x - m->cur.w;
|
||||||
|
if (y < (m->zone->container->y + ((m->zone->container->h * 1) / 3)))
|
||||||
|
m->cur.y = y;
|
||||||
|
else if (y < (m->zone->container->y + ((m->zone->container->h * 2) / 3)))
|
||||||
|
m->cur.y = y + ((h - m->cur.h) / 2);
|
||||||
|
else
|
||||||
|
m->cur.y = y + h - m->cur.h;
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_menu_cb_ecore_evas_resize(Ecore_Evas *ee)
|
_e_menu_cb_ecore_evas_resize(Ecore_Evas *ee)
|
||||||
{
|
{
|
||||||
|
@ -2006,7 +2202,6 @@ _e_menu_cb_key_down(void *data, int type, void *event)
|
||||||
_e_menu_activate_nth(8);
|
_e_menu_activate_nth(8);
|
||||||
else if (!strcmp(ev->keysymbol, "0"))
|
else if (!strcmp(ev->keysymbol, "0"))
|
||||||
_e_menu_activate_nth(9);
|
_e_menu_activate_nth(9);
|
||||||
printf("kdn \"%s\" \"%s\"\n", ev->keyname, ev->keysymbol);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -310,8 +310,8 @@ E_IPC_Opt_Handler handlers[] =
|
||||||
OREQ("-edge-flip-get", "Get the edge flip flag", E_IPC_OP_USE_EDGE_FLIP_GET, 1),
|
OREQ("-edge-flip-get", "Get the edge flip flag", E_IPC_OP_USE_EDGE_FLIP_GET, 1),
|
||||||
ODBL("-edge-flip_timeout-set", "Set the edge flip timeout (sec)", E_IPC_OP_EDGE_FLIP_TIMEOUT_SET, 0),
|
ODBL("-edge-flip_timeout-set", "Set the edge flip timeout (sec)", E_IPC_OP_EDGE_FLIP_TIMEOUT_SET, 0),
|
||||||
OREQ("-edge-flip_timeout-get", "Get the edge flip timeout", E_IPC_OP_EDGE_FLIP_TIMEOUT_GET, 1),
|
OREQ("-edge-flip_timeout-get", "Get the edge flip timeout", E_IPC_OP_EDGE_FLIP_TIMEOUT_GET, 1),
|
||||||
O2INT("-desks-set", "Get the number of virtual desktops (X x Y. OPT1 = X, OPT2 = Y)", E_IPC_OP_DESKS_SET, 0),
|
O2INT("-desks-set", "Set the number of virtual desktops (X x Y. OPT1 = X, OPT2 = Y)", E_IPC_OP_DESKS_SET, 0),
|
||||||
OREQ("-desks-get", "Set the number of virtual desktops", E_IPC_OP_DESKS_GET, 1)
|
OREQ("-desks-get", "Get the number of virtual desktops", E_IPC_OP_DESKS_GET, 1)
|
||||||
};
|
};
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
|
|
|
@ -13,6 +13,7 @@ static void _start_face_menu_new(Start_Face *face);
|
||||||
static void _start_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _start_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _start_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
|
static void _start_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
|
||||||
static void _start_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _start_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
|
static void _start_menu_cb_post_deactivate(void *data, E_Menu *m);
|
||||||
|
|
||||||
static int button_count;
|
static int button_count;
|
||||||
static E_Config_DD *conf_edd;
|
static E_Config_DD *conf_edd;
|
||||||
|
@ -37,7 +38,6 @@ e_modapi_init(E_Module *m)
|
||||||
/* Create the button */
|
/* Create the button */
|
||||||
e = _start_new();
|
e = _start_new();
|
||||||
m->config_menu = e->config_menu;
|
m->config_menu = e->config_menu;
|
||||||
//m->main_menu = e_int_menus_main_new();
|
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +179,7 @@ _start_face_new(E_Container *con)
|
||||||
face->button_object = o;
|
face->button_object = o;
|
||||||
|
|
||||||
e_theme_edje_object_set(o, "base/theme/modules/start", "modules/start/main");
|
e_theme_edje_object_set(o, "base/theme/modules/start", "modules/start/main");
|
||||||
|
edje_object_signal_emit(o, "passive", "");
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
o = evas_object_rectangle_add(con->bg_evas);
|
o = evas_object_rectangle_add(con->bg_evas);
|
||||||
|
@ -234,7 +235,6 @@ _start_face_menu_new(Start_Face *face)
|
||||||
e_menu_item_label_set(mi, _("Edit Mode"));
|
e_menu_item_label_set(mi, _("Edit Mode"));
|
||||||
e_menu_item_callback_set(mi, _start_face_cb_menu_edit, face);
|
e_menu_item_callback_set(mi, _start_face_cb_menu_edit, face);
|
||||||
|
|
||||||
face->main_menu = e_int_menus_main_new();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -264,7 +264,7 @@ _start_face_free(Start_Face *face)
|
||||||
evas_object_del(face->button_object);
|
evas_object_del(face->button_object);
|
||||||
evas_object_del(face->event_object);
|
evas_object_del(face->event_object);
|
||||||
e_object_del(E_OBJECT(face->menu));
|
e_object_del(E_OBJECT(face->menu));
|
||||||
e_object_del(E_OBJECT(face->main_menu));
|
if (face->main_menu) e_object_del(E_OBJECT(face->main_menu));
|
||||||
|
|
||||||
free(face->conf);
|
free(face->conf);
|
||||||
free(face);
|
free(face);
|
||||||
|
@ -341,13 +341,34 @@ _start_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
if (ev->button == 3)
|
if (ev->button == 3)
|
||||||
{
|
{
|
||||||
e_menu_activate_mouse(face->menu, e_zone_current_get(face->con), ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN);
|
e_menu_activate_mouse(face->menu, e_zone_current_get(face->con),
|
||||||
|
ev->output.x, ev->output.y, 1, 1,
|
||||||
|
E_MENU_POP_DIRECTION_AUTO);
|
||||||
e_util_container_fake_mouse_up_all_later(face->con);
|
e_util_container_fake_mouse_up_all_later(face->con);
|
||||||
}
|
}
|
||||||
else if (ev->button == 1)
|
else if (ev->button == 1)
|
||||||
{
|
{
|
||||||
/* Pop up main menu */
|
Evas_Coord x, y, w, h;
|
||||||
e_menu_activate_mouse(face->main_menu, e_zone_current_get(face->con), ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN);
|
|
||||||
|
e_gadman_client_geometry_get(face->gmc, &x, &y, &w, &h);
|
||||||
|
if (!face->main_menu)
|
||||||
|
face->main_menu = e_int_menus_main_new();
|
||||||
|
e_menu_post_deactivate_callback_set(face->main_menu, _start_menu_cb_post_deactivate, face);
|
||||||
|
e_menu_activate_mouse(face->main_menu, e_zone_current_get(face->con),
|
||||||
|
x, y, w, h,
|
||||||
|
E_MENU_POP_DIRECTION_AUTO);
|
||||||
e_util_container_fake_mouse_up_all_later(face->con);
|
e_util_container_fake_mouse_up_all_later(face->con);
|
||||||
|
edje_object_signal_emit(face->button_object, "active", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_start_menu_cb_post_deactivate(void *data, E_Menu *m)
|
||||||
|
{
|
||||||
|
Start_Face *face;
|
||||||
|
|
||||||
|
face = data;
|
||||||
|
if (!face->main_menu) return;
|
||||||
|
edje_object_signal_emit(face->button_object, "passive", "");
|
||||||
|
face->main_menu = NULL;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue