req_window_offscreen:

If a window likes to open with initial offscreen coordinates E should move it to the nearest onscreen coordinates.

req_window_ignore_zone:
If a window likes to open with initial coordinates in a window ignore zone (like not overlap allowed shelfes) if should be moved to the next allowed coordinates.



SVN revision: 49909
This commit is contained in:
Andreas Volz 2010-06-27 20:41:52 +00:00
parent cd158657f1
commit ce88316472
1 changed files with 18 additions and 16 deletions

View File

@ -6467,23 +6467,25 @@ _e_border_eval(E_Border *bd)
bd->y = att->y;
}
/*
* This code ensures that even if app windows like to open
* in stupid places (e.g. below shelfes) it moves them smart away
*/
/*{
Eina_List *skiplist = NULL;
int new_x, new_y;
skiplist = eina_list_append(skiplist, bd);
e_place_zone_region_smart(bd->zone, skiplist,
bd->x, bd->y, bd->w, bd->h,
&new_x, &new_y);
eina_list_free(skiplist);
bd->x += new_x;
bd->y += new_y;
}*/
/*
* This ensures that windows that like to open with a x/y
* position smaller than returned by e_zone_useful_geometry_get()
* are moved to useful positions.
*/
// ->
if (bd->x < zx)
bd->x = zx;
if (bd->y < zy)
bd->y = zy;
if (bd->x + bd->w > zw)
bd->x = zx + zw - bd->w;
if (bd->y + bd->h > zh)
bd->y = zy + zh - bd->h;
// <--
if (e_container_zone_at_point_get(bd->zone->container, bd->x, bd->y))
{
bd->changes.pos = 1;