forked from enlightenment/enlightenment
fix unmaximize in smart and fill mode.
- move policy handling of move/resize to the externally accessible functions SVN revision: 42751
This commit is contained in:
parent
0033fecdef
commit
46c1c6000b
|
@ -831,12 +831,6 @@ _e_border_move_internal(E_Border *bd, int x, int y, Eina_Bool without_border)
|
||||||
E_OBJECT_CHECK(bd);
|
E_OBJECT_CHECK(bd);
|
||||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||||
|
|
||||||
if (bd->fullscreen) return;
|
|
||||||
|
|
||||||
/* allow border to unshade when it was maximized _and_ shaded */
|
|
||||||
if ((bd->maximized) && (!e_config->allow_manip) && (!bd->shading))
|
|
||||||
return;
|
|
||||||
|
|
||||||
ecore_x_window_shadow_tree_flush();
|
ecore_x_window_shadow_tree_flush();
|
||||||
if (bd->new_client)
|
if (bd->new_client)
|
||||||
{
|
{
|
||||||
|
@ -898,6 +892,13 @@ _e_border_move_internal(E_Border *bd, int x, int y, Eina_Bool without_border)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_move(E_Border *bd, int x, int y)
|
e_border_move(E_Border *bd, int x, int y)
|
||||||
{
|
{
|
||||||
|
if (bd->fullscreen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* allow border to unshade when it was maximized _and_ shaded */
|
||||||
|
if ((bd->maximized) && (!e_config->allow_manip) && (!bd->shading))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_internal(bd, x, y, 0);
|
_e_border_move_internal(bd, x, y, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -920,6 +921,13 @@ e_border_move(E_Border *bd, int x, int y)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_move_without_border(E_Border *bd, int x, int y)
|
e_border_move_without_border(E_Border *bd, int x, int y)
|
||||||
{
|
{
|
||||||
|
if (bd->fullscreen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* allow border to unshade when it was maximized _and_ shaded */
|
||||||
|
if ((bd->maximized) && (!e_config->allow_manip) && (!bd->shading))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_internal(bd, x, y, 1);
|
_e_border_move_internal(bd, x, y, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -971,11 +979,6 @@ _e_border_move_resize_internal(E_Border *bd, int x, int y, int w, int h, Eina_Bo
|
||||||
E_OBJECT_CHECK(bd);
|
E_OBJECT_CHECK(bd);
|
||||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||||
|
|
||||||
if (bd->fullscreen) return;
|
|
||||||
|
|
||||||
if ((bd->maximized) && (!e_config->allow_manip) && (!bd->shading))
|
|
||||||
return;
|
|
||||||
|
|
||||||
ecore_x_window_shadow_tree_flush();
|
ecore_x_window_shadow_tree_flush();
|
||||||
|
|
||||||
if (bd->new_client)
|
if (bd->new_client)
|
||||||
|
@ -1073,6 +1076,10 @@ _e_border_move_resize_internal(E_Border *bd, int x, int y, int w, int h, Eina_Bo
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_move_resize(E_Border *bd, int x, int y, int w, int h)
|
e_border_move_resize(E_Border *bd, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
|
if ((bd->fullscreen) ||
|
||||||
|
((bd->maximized) && (!e_config->allow_manip) && (!bd->shading)))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_resize_internal(bd, x, y, w, h, 0, 1);
|
_e_border_move_resize_internal(bd, x, y, w, h, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1094,6 +1101,10 @@ e_border_move_resize(E_Border *bd, int x, int y, int w, int h)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_move_resize_without_border(E_Border *bd, int x, int y, int w, int h)
|
e_border_move_resize_without_border(E_Border *bd, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
|
if ((bd->fullscreen) ||
|
||||||
|
((bd->maximized) && (!e_config->allow_manip) && (!bd->shading)))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_resize_internal(bd, x, y, w, h, 1, 1);
|
_e_border_move_resize_internal(bd, x, y, w, h, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1113,6 +1124,10 @@ e_border_move_resize_without_border(E_Border *bd, int x, int y, int w, int h)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_resize(E_Border *bd, int w, int h)
|
e_border_resize(E_Border *bd, int w, int h)
|
||||||
{
|
{
|
||||||
|
if ((bd->fullscreen) ||
|
||||||
|
((bd->maximized) && (!e_config->allow_manip) && (!bd->shading)))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_resize_internal(bd, 0, 0, w, h, 0, 0);
|
_e_border_move_resize_internal(bd, 0, 0, w, h, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1135,6 +1150,10 @@ e_border_resize(E_Border *bd, int w, int h)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_border_resize_without_border(E_Border *bd, int w, int h)
|
e_border_resize_without_border(E_Border *bd, int w, int h)
|
||||||
{
|
{
|
||||||
|
if ((bd->fullscreen) ||
|
||||||
|
((bd->maximized) && (!e_config->allow_manip) && (!bd->shading)))
|
||||||
|
return;
|
||||||
|
|
||||||
_e_border_move_resize_internal(bd, 0, 0, w, h, 1, 0);
|
_e_border_move_resize_internal(bd, 0, 0, w, h, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2018,11 +2037,9 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
max = E_MAXIMIZE_NONE;
|
max = E_MAXIMIZE_NONE;
|
||||||
break;
|
break;
|
||||||
case E_MAXIMIZE_FULLSCREEN:
|
case E_MAXIMIZE_FULLSCREEN:
|
||||||
printf("max fullscreen %d\n", max);
|
|
||||||
|
|
||||||
w = bd->zone->w;
|
w = bd->zone->w;
|
||||||
h = bd->zone->h;
|
h = bd->zone->h;
|
||||||
|
|
||||||
if (bd->bg_object)
|
if (bd->bg_object)
|
||||||
{
|
{
|
||||||
Evas_Coord cx, cy, cw, ch;
|
Evas_Coord cx, cy, cw, ch;
|
||||||
|
@ -2151,11 +2168,8 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
||||||
bd->pre_res_change.valid = 0;
|
bd->pre_res_change.valid = 0;
|
||||||
bd->need_maximize = 0;
|
bd->need_maximize = 0;
|
||||||
|
|
||||||
printf("unmax %d\n", max);
|
|
||||||
if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN)
|
if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN)
|
||||||
{
|
{
|
||||||
printf("fullscreen\n");
|
|
||||||
|
|
||||||
if (bd->bg_object)
|
if (bd->bg_object)
|
||||||
{
|
{
|
||||||
Evas_Coord cx, cy, cw, ch;
|
Evas_Coord cx, cy, cw, ch;
|
||||||
|
@ -2178,7 +2192,10 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
||||||
}
|
}
|
||||||
|
|
||||||
bd->maximized = E_MAXIMIZE_NONE;
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
e_border_move_resize(bd, bd->zone->x + bd->saved.x, bd->zone->y + bd->saved.y, bd->saved.w, bd->saved.h);
|
_e_border_move_resize_internal(bd,
|
||||||
|
bd->zone->x + bd->saved.x,
|
||||||
|
bd->zone->y + bd->saved.y,
|
||||||
|
bd->saved.w, bd->saved.h, 0, 1);
|
||||||
bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
|
bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
|
||||||
e_hints_window_size_unset(bd);
|
e_hints_window_size_unset(bd);
|
||||||
}
|
}
|
||||||
|
@ -2209,7 +2226,8 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
||||||
}
|
}
|
||||||
|
|
||||||
e_border_resize_limit(bd, &w, &h);
|
e_border_resize_limit(bd, &w, &h);
|
||||||
e_border_move_resize(bd, x, y, w, h);
|
|
||||||
|
_e_border_move_resize_internal(bd, x, y, w, h, 0, 1);
|
||||||
if (!(bd->maximized & E_MAXIMIZE_DIRECTION))
|
if (!(bd->maximized & E_MAXIMIZE_DIRECTION))
|
||||||
{
|
{
|
||||||
bd->maximized = E_MAXIMIZE_NONE;
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
|
Loading…
Reference in New Issue