Fix en/disabling of maximization animation.
SVN revision: 80903
This commit is contained in:
parent
0af135d24e
commit
c1ee9b7b04
|
@ -811,7 +811,7 @@ MaxSizeHV(EWin * ewin, const char *resize_type, int hor, int ver)
|
|||
{
|
||||
int x, y, w, h, x1, x2, y1, y2, type, bl, br, bt, bb;
|
||||
EWin *const *lst;
|
||||
int num;
|
||||
int num, speed;
|
||||
int old_hor = ewin->state.maximized_horz != 0;
|
||||
int old_ver = ewin->state.maximized_vert != 0;
|
||||
|
||||
|
@ -996,7 +996,8 @@ MaxSizeHV(EWin * ewin, const char *resize_type, int hor, int ver)
|
|||
h = 10;
|
||||
|
||||
do_resize:
|
||||
EwinSlideSizeTo(ewin, x, y, w, h, Conf.movres.maximize_speed, 0, 0);
|
||||
speed = Conf.movres.maximize_animate ? Conf.movres.maximize_speed : 0;
|
||||
EwinSlideSizeTo(ewin, x, y, w, h, speed, 0, SLIDE_WARP);
|
||||
|
||||
HintsSetWindowState(ewin);
|
||||
}
|
||||
|
|
19
src/slide.c
19
src/slide.c
|
@ -129,10 +129,23 @@ EwinSlideSizeTo(EWin * ewin, int tx, int ty, int tw, int th,
|
|||
{
|
||||
Animator *an;
|
||||
ewin_slide_params params;
|
||||
int duration;
|
||||
int duration, warp;
|
||||
esound_e start_sound = SOUND_NONE;
|
||||
esound_e end_sound = SOUND_NONE;
|
||||
|
||||
warp = (flags & SLIDE_WARP) && (ewin == GetEwinPointerInClient());
|
||||
|
||||
if (speed == 0)
|
||||
{
|
||||
EwinMoveResize(ewin, tx, ty, tw, th, MRF_KEEP_MAXIMIZED);
|
||||
if (warp && ewin != GetEwinPointerInClient())
|
||||
{
|
||||
EwinWarpTo(ewin, 1);
|
||||
FocusToEWin(ewin, FOCUS_SET);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ewin->state.sliding = 1;
|
||||
|
||||
params.fx = EoGetX(ewin);
|
||||
|
@ -145,9 +158,7 @@ EwinSlideSizeTo(EWin * ewin, int tx, int ty, int tw, int th,
|
|||
params.th = th;
|
||||
params.mode = mode;
|
||||
params.give_focus = (flags & SLIDE_FOCUS) != 0;
|
||||
params.mouse_warp = ((flags & SLIDE_WARP) != 0) &&
|
||||
((params.fx != params.tx) || (params.fy != params.ty)) &&
|
||||
(ewin == GetEwinPointerInClient());
|
||||
params.mouse_warp = warp;
|
||||
EQueryPointer(EoGetWin(ewin), ¶ms.mouse_x, ¶ms.mouse_y, NULL, NULL);
|
||||
|
||||
if (params.mouse_x > tw)
|
||||
|
|
Loading…
Reference in New Issue