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)
|
||||
{
|
||||
E_Shelf *es;
|
||||
Evas_List *ll;
|
||||
|
||||
es = l->data;
|
||||
if (es->cfg->overlap) continue;
|
||||
if (es->zone != bd->zone) continue;
|
||||
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 (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,
|
||||
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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue