{
zone = NULL;
- printf("@@@ SCREENS: %i %i | %i %i %ix%i\n", scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
+ printf("@@@ SCREENS: %i %i | %i %i %ix%i\n",
+ scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
EINA_LIST_FOREACH(zones, ll, zone)
{
if (zone->id == scr->escreen) break;
}
if (zone)
{
- printf("@@@ FOUND ZONE %i %i\n", zone->num, zone->id);
+ printf("@@@ FOUND ZONE %i %i [%p]\n", zone->num, zone->id, zone);
e_zone_move_resize(zone, scr->x, scr->y, scr->w, scr->h);
- e_shelf_zone_move_resize_handle(zone);
zones = eina_list_remove(zones, zone);
con->zones = eina_list_append(con->zones, zone);
zone->num = scr->screen;
+ e_shelf_zone_move_resize_handle(zone);
}
else
{
- Eina_List *ll;
E_Config_Shelf *cf_es;
- printf("@@@ container resize handle - new zone\n");
- zone = e_zone_new(con, scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
+ zone = e_zone_new(con, scr->screen, scr->escreen,
+ scr->x, scr->y, scr->w, scr->h);
+ printf("@@@ NEW ZONE = %p\n", zone);
/* find any shelves configured for this zone and add them in */
EINA_LIST_FOREACH(e_config->shelves, ll, cf_es)
{
- if (e_util_container_zone_id_get(cf_es->container, cf_es->zone) == zone)
- e_shelf_config_new(zone, cf_es);
+ if (e_util_container_zone_id_get(cf_es->container,
+ cf_es->zone) == zone)
+ e_shelf_config_new(zone, cf_es);
}
}
}
pop = E_OBJECT_ALLOC(E_Popup, E_POPUP_TYPE, _e_popup_free);
if (!pop) return NULL;
pop->zone = zone;
+ pop->zx = pop->zone->x;
+ pop->zy = pop->zone->y;
pop->x = x;
pop->y = y;
pop->w = w;
{
E_OBJECT_CHECK(pop);
E_OBJECT_TYPE_CHECK(pop, E_POPUP_TYPE);
- if ((pop->x == x) && (pop->y == y)) return;
+ if ((pop->x == x) && (pop->y == y) &&
+ (pop->zone->x == pop->zx) && (pop->zone->y == pop->zy)) return;
+ pop->zx = pop->zone->x;
+ pop->zy = pop->zone->y;
pop->x = x;
pop->y = y;
ecore_evas_move(pop->ecore_evas,
E_OBJECT_CHECK(pop);
E_OBJECT_TYPE_CHECK(pop, E_POPUP_TYPE);
if ((pop->x == x) && (pop->y == y) &&
- (pop->w == w) && (pop->h == h)) return;
+ (pop->w == w) && (pop->h == h) &&
+ (pop->zone->x == pop->zx) && (pop->zone->y == pop->zy)) return;
+ pop->zx = pop->zone->x;
+ pop->zy = pop->zone->y;
pop->x = x;
pop->y = y;
pop->w = w;