forked from enlightenment/enlightenment
parent
2af32159f0
commit
329671a11f
2
TODO
2
TODO
|
@ -35,8 +35,6 @@ ISSUES:
|
||||||
* pager needs 1 pager face per zone by default (optionally able to be turned off)
|
* pager needs 1 pager face per zone by default (optionally able to be turned off)
|
||||||
* pager needs to be able to split off each desk in a zone it a different gadget
|
* pager needs to be able to split off each desk in a zone it a different gadget
|
||||||
* pager right click menu needs to do a lot more (as with clock)
|
* pager right click menu needs to do a lot more (as with clock)
|
||||||
* initial placement of pager and clock seems wrong (overlap deny code?)
|
|
||||||
* gadman overlay deny doesnt work for edge only gadgets
|
|
||||||
* gadman gadget menu needs icons :)
|
* gadman gadget menu needs icons :)
|
||||||
* add a menu item to each gadman client menu to edge editing mode
|
* add a menu item to each gadman client menu to edge editing mode
|
||||||
* pager needs an overhaul
|
* pager needs an overhaul
|
||||||
|
|
|
@ -650,7 +650,10 @@ _e_gadman_client_overlap_deny(E_Gadman_Client *gmc)
|
||||||
ox = gmc->x;
|
ox = gmc->x;
|
||||||
oy = gmc->y;
|
oy = gmc->y;
|
||||||
ok = 0;
|
ok = 0;
|
||||||
while ((!ok) && (iterate < 1000))
|
if ((gmc->policy & 0xff) == E_GADMAN_POLICY_EDGES)
|
||||||
|
{
|
||||||
|
if ((gmc->edge == E_GADMAN_EDGE_LEFT) ||
|
||||||
|
(gmc->edge == E_GADMAN_EDGE_RIGHT))
|
||||||
{
|
{
|
||||||
for (l = gmc->zone->container->gadman->clients; l; l = l->next)
|
for (l = gmc->zone->container->gadman->clients; l; l = l->next)
|
||||||
{
|
{
|
||||||
|
@ -662,10 +665,133 @@ _e_gadman_client_overlap_deny(E_Gadman_Client *gmc)
|
||||||
if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) &&
|
if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) &&
|
||||||
(E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h)))
|
(E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h)))
|
||||||
{
|
{
|
||||||
|
ok = 0;
|
||||||
|
gmc->y = gmc2->y + gmc2->h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ok) return;
|
||||||
|
if ((gmc->y + gmc->h) > (gmc->zone->y + gmc->zone->h))
|
||||||
|
gmc->y = gmc->zone->y + gmc->zone->h - gmc->h;
|
||||||
|
ok = 1;
|
||||||
|
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)))
|
||||||
|
{
|
||||||
|
ok = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
_e_gadman_client_geometry_to_align(gmc);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (l = gmc->zone->container->gadman->clients; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc2;
|
||||||
|
|
||||||
|
if (gmc != gmc2)
|
||||||
|
{
|
||||||
|
gmc2 = l->data;
|
||||||
|
if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) &&
|
||||||
|
(E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h)))
|
||||||
|
{
|
||||||
|
gmc->y = gmc2->y - gmc->h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gmc->y < gmc->zone->y)
|
||||||
|
gmc->y = gmc->zone->y;
|
||||||
|
}
|
||||||
|
else if ((gmc->edge == E_GADMAN_EDGE_TOP) ||
|
||||||
|
(gmc->edge == E_GADMAN_EDGE_BOTTOM))
|
||||||
|
{
|
||||||
|
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)))
|
||||||
|
{
|
||||||
|
ok = 0;
|
||||||
gmc->x = gmc2->x + gmc2->w;
|
gmc->x = gmc2->x + gmc2->w;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ok) return;
|
||||||
|
if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w))
|
||||||
|
gmc->x = gmc->zone->x + gmc->zone->w - gmc->w;
|
||||||
|
ok = 1;
|
||||||
|
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)))
|
||||||
|
{
|
||||||
|
ok = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
_e_gadman_client_geometry_to_align(gmc);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (l = gmc->zone->container->gadman->clients; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc2;
|
||||||
|
|
||||||
|
if (gmc != gmc2)
|
||||||
|
{
|
||||||
|
gmc2 = l->data;
|
||||||
|
if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) &&
|
||||||
|
(E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h)))
|
||||||
|
{
|
||||||
|
gmc->x = gmc2->x - gmc->w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gmc->x < gmc->zone->x)
|
||||||
|
gmc->x = gmc->zone->x;
|
||||||
|
}
|
||||||
|
_e_gadman_client_geometry_to_align(gmc);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
while ((!ok) && (iterate < 1000))
|
||||||
|
{
|
||||||
|
ok = 1;
|
||||||
|
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)))
|
||||||
|
{
|
||||||
|
ok = 0;
|
||||||
|
gmc->x = gmc2->x + gmc2->w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ok) break;
|
||||||
if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w))
|
if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w))
|
||||||
gmc->x = gmc->zone->x + gmc->zone->w - gmc->w;
|
gmc->x = gmc->zone->x + gmc->zone->w - gmc->w;
|
||||||
ok = 1;
|
ok = 1;
|
||||||
|
|
|
@ -211,7 +211,7 @@ _pager_init(E_Module *m)
|
||||||
e_gadman_client_min_size_set(e->gmc, 8, 8);
|
e_gadman_client_min_size_set(e->gmc, 8, 8);
|
||||||
e_gadman_client_max_size_set(e->gmc, 256, 256);
|
e_gadman_client_max_size_set(e->gmc, 256, 256);
|
||||||
e_gadman_client_auto_size_set(e->gmc, 64, 64);
|
e_gadman_client_auto_size_set(e->gmc, 64, 64);
|
||||||
e_gadman_client_align_set(e->gmc, 0.0, 0.5);
|
e_gadman_client_align_set(e->gmc, 0.0, 1.0);
|
||||||
e_gadman_client_resize(e->gmc, 80, 60);
|
e_gadman_client_resize(e->gmc, 80, 60);
|
||||||
e_gadman_client_change_func_set(e->gmc, _pager_cb_gmc_change, e);
|
e_gadman_client_change_func_set(e->gmc, _pager_cb_gmc_change, e);
|
||||||
e_gadman_client_load(e->gmc);
|
e_gadman_client_load(e->gmc);
|
||||||
|
|
Loading…
Reference in New Issue