}
bd->pre_res_change.valid = 0;
- if (!(bd->maximized & E_MAXIMIZE_HORIZONTAL))
+ if (!(bd->maximized & E_MAXIMIZE_HORIZONTAL) ||
+ (bd->maximized & E_MAXIMIZE_LEFT) ||
+ (bd->maximized & E_MAXIMIZE_RIGHT))
+
{
/* Horizontal hasn't been set */
bd->saved.x = bd->x - bd->zone->x;
bd->saved.y = bd->y - bd->zone->y;
bd->saved.h = bd->h;
}
+
bd->saved.zone = bd->zone->num;
e_hints_window_size_set(bd);
y = bd->saved.y + bd->zone->y;
bd->saved.h = bd->saved.y = 0;
bd->maximized &= ~E_MAXIMIZE_VERTICAL;
- bd->maximized &= ~E_MAXIMIZE_LEFT;
- bd->maximized &= ~E_MAXIMIZE_RIGHT;
+
+ if (max & E_MAXIMIZE_LEFT ||
+ max & E_MAXIMIZE_RIGHT)
+ {
+ w = bd->saved.w;
+ x = bd->saved.x + bd->zone->x;
+ bd->saved.w = bd->saved.x = 0;
+ bd->maximized &= ~E_MAXIMIZE_LEFT;
+ bd->maximized &= ~E_MAXIMIZE_RIGHT;
+ }
}
if (max & E_MAXIMIZE_HORIZONTAL)
{
E_MAXIMIZE_VERTICAL = 0x00000010,
E_MAXIMIZE_HORIZONTAL = 0x00000020,
E_MAXIMIZE_BOTH = 0x00000030,
- E_MAXIMIZE_LEFT = 0x00000060,
+ E_MAXIMIZE_LEFT = 0x00000050,
E_MAXIMIZE_RIGHT = 0x00000090,
E_MAXIMIZE_DIRECTION = 0x000000f0
} E_Maximize;