forked from enlightenment/enlightenment
add "hidden" flag for borders which is set only when border_hide(3) is called; this prevents borders from being automatically shown on desk change when previously hidden
SVN revision: 75757
This commit is contained in:
parent
1e724ce41f
commit
0dab993c45
|
@ -958,6 +958,7 @@ e_border_show(E_Border *bd)
|
|||
if (!bd->need_reparent)
|
||||
ecore_x_window_show(bd->client.win);
|
||||
e_hints_window_visible_set(bd);
|
||||
bd->hidden = 0;
|
||||
bd->visible = 1;
|
||||
bd->changes.visible = 1;
|
||||
|
||||
|
@ -1033,13 +1034,15 @@ e_border_hide(E_Border *bd,
|
|||
}
|
||||
}
|
||||
}
|
||||
if (manage == 1)
|
||||
switch (manage)
|
||||
{
|
||||
case 2: break;
|
||||
case 3:
|
||||
bd->hidden = 1;
|
||||
case 1:
|
||||
/* Make sure that this border isn't deleted */
|
||||
bd->await_hide_event++;
|
||||
}
|
||||
if (manage != 2)
|
||||
{
|
||||
default:
|
||||
if (!e_manager_comp_evas_get(bd->zone->container->manager))
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
}
|
||||
|
|
|
@ -462,6 +462,7 @@ struct _E_Border
|
|||
E_Container_Shape *shape;
|
||||
|
||||
unsigned int visible : 1;
|
||||
Eina_Bool hidden : 1; // set when window has been hidden by api and should not be shown
|
||||
unsigned int await_hide_event;
|
||||
unsigned int moving : 1;
|
||||
unsigned int focused : 1;
|
||||
|
|
|
@ -270,7 +270,7 @@ e_desk_show(E_Desk *desk)
|
|||
bl = e_container_border_list_first(desk->zone->container);
|
||||
while ((bd = e_container_border_list_next(bl)))
|
||||
{
|
||||
if ((bd->desk->zone == desk->zone) && (!bd->iconic))
|
||||
if ((!bd->hidden) && (bd->desk->zone == desk->zone) && (!bd->iconic))
|
||||
{
|
||||
if ((bd->desk == desk) || (bd->sticky))
|
||||
e_border_show(bd);
|
||||
|
|
Loading…
Reference in New Issue