Hide desktop before windows, so that fullscreen can check if the desk

is visible or not.
Don't set desk_?_current in e_zone.c, it should only be done in e_desk_show


SVN revision: 15611
This commit is contained in:
sebastid 2005-07-01 11:05:48 +00:00 committed by sebastid
parent 0888177bd3
commit 768f894cd2
3 changed files with 22 additions and 21 deletions

View File

@ -862,6 +862,7 @@ e_border_focus_set(E_Border *bd, int focus, int set)
{
edje_object_signal_emit(bd->bg_object, "passive", "");
e_focus_event_focus_out(bd);
/* FIXME: Sometimes we should leave the window fullscreen! */
if (bd->fullscreen)
e_border_unfullscreen(bd);
}

View File

@ -79,14 +79,30 @@ void
e_desk_show(E_Desk *desk)
{
E_Border_List *bl;
int x, y, was_zone = 0;
E_Border *bd;
int was_zone = 0;
int x, y;
E_Event_Desk_Show *ev;
E_Border *bd;
E_OBJECT_CHECK(desk);
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
if (desk->visible) return;
for (x = 0; x < desk->zone->desk_x_count; x++)
{
for (y = 0; y < desk->zone->desk_y_count; y++)
{
E_Desk *desk2;
desk2 = e_desk_at_xy_get(desk->zone,x, y);
if (desk2->visible)
{
desk2->visible = 0;
ecore_evas_hide(desk2->black_ecore_evas);
}
}
}
bl = e_container_border_list_first(desk->zone->container);
if (desk->zone->bg_object) was_zone = 1;
while ((bd = e_container_border_list_next(bl)))
@ -103,22 +119,8 @@ e_desk_show(E_Desk *desk)
}
e_container_border_list_free(bl);
for (x = 0; x < desk->zone->desk_x_count; x++)
{
for (y = 0; y < desk->zone->desk_y_count; y++)
{
E_Desk *desk2;
desk2 = e_desk_at_xy_get(desk->zone,x, y);
desk2->visible = 0;
ecore_evas_hide(desk2->black_ecore_evas);
if (desk2 == desk)
{
desk->zone->desk_x_current = x;
desk->zone->desk_y_current = y;
}
}
}
desk->zone->desk_x_current = desk->x;
desk->zone->desk_y_current = desk->y;
if (desk->fullscreen)
{
ecore_evas_show(desk->black_ecore_evas);

View File

@ -346,12 +346,10 @@ e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count)
moved = 0;
if (zone->desk_x_current >= xx)
{
zone->desk_x_current = xx - 1;
moved = 1;
}
if (zone->desk_y_current >= yy)
{
zone->desk_y_current = yy - 1;
moved = 1;
}
if (moved)