forked from enlightenment/enlightenment
Fix for shelfs on specified desktops: Do not maximize until a shelf which is only visible on other desktops.
(http://bugs.enlightenment.org/show_bug.cgi?id=199) SVN revision: 31905
This commit is contained in:
parent
1f1db34ff6
commit
da5fb739e5
|
@ -133,12 +133,32 @@ e_maximize_border_shelf_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2, E
|
||||||
for (l = e_shelf_list(); l; l = l->next)
|
for (l = e_shelf_list(); l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Shelf *es;
|
E_Shelf *es;
|
||||||
|
Evas_List *ll;
|
||||||
|
|
||||||
es = l->data;
|
es = l->data;
|
||||||
if (es->cfg->overlap) continue;
|
if (es->cfg->overlap) continue;
|
||||||
if (es->zone != bd->zone) continue;
|
if (es->zone != bd->zone) continue;
|
||||||
|
if (es->cfg->desk_show_mode)
|
||||||
|
{
|
||||||
|
for (ll = es->cfg->desk_list; ll; ll = ll->next)
|
||||||
|
{
|
||||||
|
E_Config_Shelf_Desk *sd;
|
||||||
|
|
||||||
|
sd = ll->data;
|
||||||
|
if (!sd) continue;
|
||||||
|
if ((sd->x == bd->desk->x) && (sd->y == bd->desk->y))
|
||||||
|
{
|
||||||
OBSTACLE(es->x + es->zone->x, es->y + es->zone->y,
|
OBSTACLE(es->x + es->zone->x, es->y + es->zone->y,
|
||||||
es->x + es->zone->x + es->w, es->y + es->zone->y + es->h);
|
es->x + es->zone->x + es->w, es->y + es->zone->y + es->h);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OBSTACLE(es->x + es->zone->x, es->y + es->zone->y,
|
||||||
|
es->x + es->zone->x + es->w, es->y + es->zone->y + es->h);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (rects)
|
if (rects)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue