forked from enlightenment/enlightenment
e17/fullscreen: restore maximize correctly
SVN revision: 58626
This commit is contained in:
parent
7b56742304
commit
ca2c5c152f
|
@ -2500,15 +2500,16 @@ e_border_fullscreen(E_Border *bd,
|
|||
{
|
||||
bd->pre_res_change.valid = 0;
|
||||
|
||||
if (!bd->maximized)
|
||||
{
|
||||
bd->saved.x = bd->x - bd->zone->x;
|
||||
bd->saved.y = bd->y - bd->zone->y;
|
||||
bd->saved.w = bd->client.w;
|
||||
bd->saved.h = bd->client.h;
|
||||
bd->saved.zone = bd->zone->num;
|
||||
e_hints_window_size_set(bd);
|
||||
}
|
||||
bd->saved.x = bd->x - bd->zone->x;
|
||||
bd->saved.y = bd->y - bd->zone->y;
|
||||
bd->saved.w = bd->client.w;
|
||||
bd->saved.h = bd->client.h;
|
||||
bd->saved.maximized = bd->maximized;
|
||||
bd->saved.zone = bd->zone->num;
|
||||
|
||||
if (bd->maximized)
|
||||
e_border_unmaximize(bd, E_MAXIMIZE_BOTH);
|
||||
e_hints_window_size_set(bd);
|
||||
|
||||
bd->client_inset.l = 0;
|
||||
bd->client_inset.r = 0;
|
||||
|
@ -2604,19 +2605,20 @@ e_border_unfullscreen(E_Border *bd)
|
|||
bd->need_fullscreen = 0;
|
||||
bd->desk->fullscreen_borders--;
|
||||
|
||||
if (!bd->maximized)
|
||||
if ((screen_size.width != -1) && (screen_size.height != -1))
|
||||
{
|
||||
if ((screen_size.width != -1) && (screen_size.height != -1))
|
||||
{
|
||||
ecore_x_randr_screen_primary_output_size_set(bd->zone->container->manager->root, screen_size_index);
|
||||
screen_size.width = -1;
|
||||
screen_size.height = -1;
|
||||
}
|
||||
e_border_move_resize(bd,
|
||||
bd->saved.x + bd->zone->x,
|
||||
bd->saved.y + bd->zone->y,
|
||||
bd->saved.w, bd->saved.h);
|
||||
ecore_x_randr_screen_primary_output_size_set(bd->zone->container->manager->root, screen_size_index);
|
||||
screen_size.width = -1;
|
||||
screen_size.height = -1;
|
||||
}
|
||||
e_border_move_resize(bd,
|
||||
bd->saved.x + bd->zone->x,
|
||||
bd->saved.y + bd->zone->y,
|
||||
bd->saved.w, bd->saved.h);
|
||||
|
||||
if (bd->saved.maximized)
|
||||
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
||||
bd->saved.maximized);
|
||||
|
||||
e_border_layer_set(bd, bd->saved.layer);
|
||||
|
||||
|
|
|
@ -489,6 +489,7 @@ struct _E_Border
|
|||
int x, y, w, h;
|
||||
unsigned int layer;
|
||||
int zone;
|
||||
E_Maximize maximized;
|
||||
} saved;
|
||||
|
||||
struct {
|
||||
|
|
Loading…
Reference in New Issue