parent
8067490208
commit
bcd8b9c322
|
@ -1947,17 +1947,13 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
||||||
|
|
||||||
bd->pre_res_change.valid = 0;
|
bd->pre_res_change.valid = 0;
|
||||||
/* Get the resulting directions */
|
/* Get the resulting directions */
|
||||||
dir = (bd->maximized & E_MAXIMIZE_DIRECTION);
|
dir = (max & bd->maximized & E_MAXIMIZE_DIRECTION);
|
||||||
dir &= ~max;
|
|
||||||
|
|
||||||
bd->need_maximize = 0;
|
bd->need_maximize = 0;
|
||||||
|
|
||||||
signal = 1;
|
signal = 1;
|
||||||
switch (bd->maximized & E_MAXIMIZE_TYPE)
|
switch (bd->maximized & E_MAXIMIZE_TYPE)
|
||||||
{
|
{
|
||||||
case E_MAXIMIZE_NONE:
|
|
||||||
/* Ignore */
|
|
||||||
break;
|
|
||||||
case E_MAXIMIZE_FULLSCREEN:
|
case E_MAXIMIZE_FULLSCREEN:
|
||||||
if (bd->bg_object)
|
if (bd->bg_object)
|
||||||
{
|
{
|
||||||
|
@ -1986,66 +1982,52 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
||||||
case E_MAXIMIZE_SMART:
|
case E_MAXIMIZE_SMART:
|
||||||
/* Don't have to do anything special */
|
/* Don't have to do anything special */
|
||||||
break;
|
break;
|
||||||
|
case E_MAXIMIZE_NONE:
|
||||||
case E_MAXIMIZE_EXPAND:
|
case E_MAXIMIZE_EXPAND:
|
||||||
/* Ignore */
|
|
||||||
break;
|
|
||||||
case E_MAXIMIZE_FILL:
|
case E_MAXIMIZE_FILL:
|
||||||
/* Ignore */
|
|
||||||
break;
|
|
||||||
case E_MAXIMIZE_VERTICAL:
|
case E_MAXIMIZE_VERTICAL:
|
||||||
/*Ignore*/
|
|
||||||
break;
|
|
||||||
case E_MAXIMIZE_HORIZONTAL:
|
case E_MAXIMIZE_HORIZONTAL:
|
||||||
/*Ignore*/
|
/*Ignore*/
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (dir & E_MAXIMIZE_HORIZONTAL)
|
if (dir)
|
||||||
|
{
|
||||||
|
int w, h, x, y;
|
||||||
|
|
||||||
|
w = bd->w;
|
||||||
|
h = bd->h;
|
||||||
|
x = bd->x;
|
||||||
|
y = bd->y;
|
||||||
|
|
||||||
|
if (dir & E_MAXIMIZE_VERTICAL)
|
||||||
{
|
{
|
||||||
/* Remove vertical */
|
/* Remove vertical */
|
||||||
int w,h;
|
|
||||||
|
|
||||||
signal = 0;
|
|
||||||
bd->maximized &= ~E_MAXIMIZE_VERTICAL;
|
|
||||||
w = bd->w;
|
|
||||||
h = bd->saved.h;
|
h = bd->saved.h;
|
||||||
e_border_resize_limit(bd, &w, &h);
|
y = bd->saved.y;
|
||||||
e_border_resize_limit(bd, &w, &h);
|
bd->saved.h = bd->saved.y = 0;
|
||||||
e_border_move_resize(bd, bd->x, bd->saved.y + bd->zone->y, w, h);
|
bd->maximized &= ~E_MAXIMIZE_VERTICAL;
|
||||||
bd->saved.y = bd->saved.h = 0;
|
|
||||||
e_hints_window_size_set(bd);
|
|
||||||
}
|
}
|
||||||
else if (dir & E_MAXIMIZE_VERTICAL)
|
if (dir & E_MAXIMIZE_HORIZONTAL)
|
||||||
{
|
{
|
||||||
/* Remove horizontal */
|
/* Remove horizontal */
|
||||||
int w, h;
|
|
||||||
|
|
||||||
signal = 0;
|
|
||||||
bd->maximized &= ~E_MAXIMIZE_HORIZONTAL;
|
|
||||||
w = bd->saved.w;
|
w = bd->saved.w;
|
||||||
h = bd->h;
|
x = bd->saved.x;
|
||||||
|
bd->saved.w = bd->saved.x = 0;
|
||||||
|
bd->maximized &= ~E_MAXIMIZE_HORIZONTAL;
|
||||||
|
}
|
||||||
|
|
||||||
e_border_resize_limit(bd, &w, &h);
|
e_border_resize_limit(bd, &w, &h);
|
||||||
e_border_move_resize(bd, bd->saved.x + bd->zone->x, bd->y, w, h);
|
e_border_move_resize(bd, bd->zone->x + x, bd->zone->y + y, w, h);
|
||||||
bd->saved.x = bd->saved.w = 0;
|
if (!(bd->maximized & E_MAXIMIZE_DIRECTION))
|
||||||
e_hints_window_size_set(bd);
|
{
|
||||||
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
e_hints_window_size_unset(bd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int x, y, w, h;
|
signal = 0;
|
||||||
/* Maybe some of the sizes has already been set to 0 */
|
e_hints_window_size_set(bd);
|
||||||
if (bd->saved.x) x = bd->saved.x + bd->zone->x;
|
}
|
||||||
else x = bd->x;
|
|
||||||
if (bd->saved.y) y = bd->saved.y + bd->zone->y;
|
|
||||||
else y = bd->y;
|
|
||||||
if (bd->saved.w) w = bd->saved.w;
|
|
||||||
else w = bd->w;
|
|
||||||
if (bd->saved.h) h = bd->saved.h;
|
|
||||||
else h = bd->h;
|
|
||||||
|
|
||||||
bd->maximized = E_MAXIMIZE_NONE;
|
|
||||||
e_border_resize_limit(bd, &w, &h);
|
|
||||||
e_border_move_resize(bd, x, y, w, h);
|
|
||||||
bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
|
|
||||||
e_hints_window_size_unset(bd);
|
|
||||||
}
|
}
|
||||||
e_hints_window_maximized_set(bd, bd->maximized & E_MAXIMIZE_HORIZONTAL,
|
e_hints_window_maximized_set(bd, bd->maximized & E_MAXIMIZE_HORIZONTAL,
|
||||||
bd->maximized & E_MAXIMIZE_VERTICAL);
|
bd->maximized & E_MAXIMIZE_VERTICAL);
|
||||||
|
|
Loading…
Reference in New Issue