forked from enlightenment/enlightenment
be like other compositors. work around the unmap thing and never unmap
if we have a compositor. just "mark" as unmapped and leave there. pretend we are unmapped. disable events and stuff on the border to get the behaviro right too so stacking or positioning is never affected. SVN revision: 50761
This commit is contained in:
parent
cc4135e5fb
commit
33eb15abc8
|
@ -817,7 +817,10 @@ e_border_hide(E_Border *bd, int manage)
|
|||
bd->await_hide_event++;
|
||||
}
|
||||
if (manage != 2)
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
{
|
||||
if (!e_manager_comp_evas_get(bd->zone->container->manager))
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
}
|
||||
}
|
||||
|
||||
visible = 0;
|
||||
|
@ -2742,6 +2745,7 @@ e_border_idler_before(void)
|
|||
else
|
||||
{
|
||||
ecore_x_window_show(bd->win);
|
||||
ecore_x_composite_window_events_enable(bd->win);
|
||||
}
|
||||
bd->changes.visible = 0;
|
||||
}
|
||||
|
@ -2755,8 +2759,15 @@ e_border_idler_before(void)
|
|||
if (e_object_is_del(E_OBJECT(bd))) continue;
|
||||
if ((bd->changes.visible) && (!bd->visible))
|
||||
{
|
||||
ecore_x_window_hide(bd->win);
|
||||
ecore_evas_hide(bd->bg_ecore_evas);
|
||||
if (!e_manager_comp_evas_get(bd->zone->container->manager))
|
||||
{
|
||||
ecore_x_window_hide(bd->win);
|
||||
ecore_evas_hide(bd->bg_ecore_evas);
|
||||
}
|
||||
else
|
||||
{
|
||||
ecore_x_composite_window_events_disable(bd->win);
|
||||
}
|
||||
bd->changes.visible = 0;
|
||||
}
|
||||
if (bd->changed) _e_border_eval(bd);
|
||||
|
@ -2774,6 +2785,7 @@ e_border_idler_before(void)
|
|||
else
|
||||
{
|
||||
ecore_x_window_show(bd->win);
|
||||
ecore_x_composite_window_events_enable(bd->win);
|
||||
}
|
||||
bd->changes.visible = 0;
|
||||
}
|
||||
|
@ -5618,7 +5630,11 @@ _e_border_post_move_resize_job(void *data)
|
|||
}
|
||||
if (bd->post_show)
|
||||
{
|
||||
if (bd->visible) ecore_x_window_show(bd->win);
|
||||
if (bd->visible)
|
||||
{
|
||||
ecore_x_window_show(bd->win);
|
||||
ecore_x_composite_window_events_enable(bd->win);
|
||||
}
|
||||
}
|
||||
bd->post_show = 0;
|
||||
bd->post_move = 0;
|
||||
|
@ -7018,6 +7034,7 @@ _e_border_eval(E_Border *bd)
|
|||
else
|
||||
{
|
||||
ecore_x_window_show(bd->win);
|
||||
ecore_x_composite_window_events_enable(bd->win);
|
||||
}
|
||||
if (bd->cur_mouse_action)
|
||||
{
|
||||
|
|
|
@ -2224,7 +2224,8 @@ _e_mod_comp_bd_show(__UNUSED__ void *data, __UNUSED__ int type, void *event)
|
|||
E_Event_Border_Show *ev = event;
|
||||
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
|
||||
if (!cw) return ECORE_CALLBACK_PASS_ON;
|
||||
// fimxe: show compwin here
|
||||
if (cw->visible) return ECORE_CALLBACK_PASS_ON;
|
||||
_e_mod_comp_win_show(cw);
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
|
@ -2234,7 +2235,8 @@ _e_mod_comp_bd_hide(__UNUSED__ void *data, __UNUSED__ int type, void *event)
|
|||
E_Event_Border_Hide *ev = event;
|
||||
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
|
||||
if (!cw) return ECORE_CALLBACK_PASS_ON;
|
||||
// fimxe: hide compwin here
|
||||
if (!cw->visible) return ECORE_CALLBACK_PASS_ON;
|
||||
_e_mod_comp_win_hide(cw);
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue