itray fixies - gadman needfs work. might tackle that next.

SVN revision: 20192
This commit is contained in:
Carsten Haitzler 2006-02-02 03:53:39 +00:00
parent 4b3031d290
commit dbe58aab6e
5 changed files with 32 additions and 110 deletions

2
TODO
View File

@ -8,7 +8,6 @@ Some of the things (in very short form) that need to be done to E17...
BUGS / FIXES
-------------------------------------------------------------------------------
* BUG: itray. need i say more (it's riddled with problems)
* BUG: dnd icon from window that has no .eap defining its ocon to ibar and the
ibar icon ends up blank (cant build .eap freom ARGB pixels)
* BUG: edge flip for desktops still active if turned off when dragging a window
@ -46,6 +45,7 @@ Some of the things (in very short form) that need to be done to E17...
ESSENTIAL FEATURES
-------------------------------------------------------------------------------
* when gadgets expand they should expand in a way to not overlap if possible
* implement thees maximise/fullscreen modes:
Which of these should be different modes, and which should be options for
a mode? i think they all should be distinct actions of their own bound

View File

@ -1,10 +1,6 @@
images {
image: "e17_ibar_bg_h.png" COMP;
image: "e17_ibar_bg_v.png" COMP;
image: "e17_ibar_lamp_d.png" COMP;
image: "e17_ibar_lamp_l.png" COMP;
image: "e17_ibar_lamp_r.png" COMP;
image: "e17_ibar_lamp_u.png" COMP;
image: "e17_ibar_over_h.png" COMP;
image: "e17_ibar_over_v.png" COMP;
}
@ -174,102 +170,3 @@ group {
}
}
}
group {
name: "modules/itray/follower";
min: 56 56;
data {
// item: "item_list", "item item2 item3";
}
parts {
part {
name: "top";
mouse_events: 0;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
offset: 0 -14;
}
rel2 {
relative: 1.0 0.0;
offset: -1 26;
}
image {
normal: "e17_ibar_lamp_d.png";
}
}
description {
state: "top" 0.0;
rel1 {
relative: 0.0 1.0;
offset: 0 -26;
}
rel2 {
relative: 1.0 1.0;
offset: -1 14;
}
image {
normal: "e17_ibar_lamp_u.png";
}
}
description {
state: "right" 0.0;
rel1 {
relative: 0.0 0.0;
offset: -14 0;
}
rel2 {
relative: 0.0 1.0;
offset: 26 -1;
}
image {
normal: "e17_ibar_lamp_r.png";
}
}
description {
state: "left" 0.0;
rel1 {
relative: 1.0 0.0;
offset: -26 0;
}
rel2 {
relative: 1.0 1.0;
offset: 14 -1;
}
image {
normal: "e17_ibar_lamp_l.png";
}
}
}
program {
name: "orient";
signal: "set_orientation";
source: "bottom";
action: STATE_SET "default" 0.0;
target: "top";
}
program {
name: "orient2";
signal: "set_orientation";
source: "top";
action: STATE_SET "top" 0.0;
target: "top";
}
program {
name: "orient3";
signal: "set_orientation";
source: "left";
action: STATE_SET "left" 0.0;
target: "top";
}
program {
name: "orient4";
signal: "set_orientation";
source: "right";
action: STATE_SET "right" 0.0;
target: "top";
}
}
}

View File

@ -504,6 +504,8 @@ e_gadman_client_padding_set(E_Gadman_Client *gmc, int l, int r, int t, int b)
EAPI void
e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord autoh)
{
Evas_List *l;
E_OBJECT_CHECK(gmc);
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
gmc->autow = autow;
@ -518,6 +520,23 @@ e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord
gmc->h = gmc->autoh;
gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay);
}
/* FIXME: check for overlap and fix */
/*
for (l = gmc->zone->container->gadman->clients; l; l = l->next)
{
E_Gadman_Client *gmc2;
gmc2 = l->data;
if (gmc != gmc2)
{
if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) &&
(E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h)))
{
// blah
}
}
}
*/
_e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE);
}

View File

@ -409,10 +409,10 @@ _ibox_box_new(IBox *ib, E_Container *con)
e_gadman_client_min_size_set(ibb->gmc, 8, 8);
e_gadman_client_max_size_set(ibb->gmc, 3200, 3200);
e_gadman_client_auto_size_set(ibb->gmc, -1, -1);
e_gadman_client_align_set(ibb->gmc, 0.0, 0.5);
e_gadman_client_align_set(ibb->gmc, 1.0, 1.0);
e_gadman_client_resize(ibb->gmc, 400, 32 + ibb->box_inset.t + ibb->box_inset.b);
e_gadman_client_change_func_set(ibb->gmc, _ibox_box_cb_gmc_change, ibb);
e_gadman_client_edge_set(ibb->gmc, E_GADMAN_EDGE_LEFT);
e_gadman_client_edge_set(ibb->gmc, E_GADMAN_EDGE_BOTTOM);
e_gadman_client_load(ibb->gmc);
evas_event_thaw(ibb->evas);

View File

@ -160,7 +160,13 @@ e_modapi_about(E_Module *m)
{
e_module_dialog_show(_("Enlightenment ITray Module"),
_("This is the ITray system tray module for Enlightenment.<br>"
"It will hold system tray icons."));
"It will hold system tray icons.<br>"
"Beware that this can be buggy due to many systray providing<br>"
"applications not handling the protocol properly, ad the way<br>"
"systray icons work being very limiting and hacky. Do not use<br>"
"this module unless you absolutely must, and if you do, beware<br>"
"of issues that will appear."
));
return 1;
}
@ -321,7 +327,7 @@ _itray_box_new(ITray *it, E_Container *con)
itb->event_object = o;
evas_object_layer_set(o, 2);
evas_object_repeat_events_set(o, 1);
evas_object_color_set(o, 255, 255, 255, 255);
evas_object_color_set(o, 0, 0, 0, 0);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _itray_box_cb_mouse_in, itb);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, _itray_box_cb_mouse_out, itb);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _itray_box_cb_mouse_down, itb);
@ -357,10 +363,10 @@ _itray_box_new(ITray *it, E_Container *con)
e_gadman_client_min_size_set(itb->gmc, 8, 8);
e_gadman_client_max_size_set(itb->gmc, 3200, 3200);
e_gadman_client_auto_size_set(itb->gmc, -1, -1);
e_gadman_client_align_set(itb->gmc, 0.0, 0.5);
e_gadman_client_align_set(itb->gmc, 0.0, 1.0);
e_gadman_client_resize(itb->gmc, 400, 32);
e_gadman_client_change_func_set(itb->gmc, _itray_box_cb_gmc_change, itb);
e_gadman_client_edge_set(itb->gmc, E_GADMAN_EDGE_LEFT);
e_gadman_client_edge_set(itb->gmc, E_GADMAN_EDGE_BOTTOM);
e_gadman_client_load(itb->gmc);
evas_event_thaw(itb->evas);