kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=0a65af57e5496becc566bfd37e0cf295ac4a848b

commit 0a65af57e5496becc566bfd37e0cf295ac4a848b
Author: Kim Woelders <k...@woelders.dk>
Date:   Thu Jul 15 06:57:30 2021 +0200

    Focus: Fix focus on new clients requesting max size
---
 src/ewins.c | 4 ++--
 src/ewins.h | 4 ++--
 src/ewmh.c  | 2 +-
 src/ipc.c   | 6 +++---
 src/size.c  | 6 +++---
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/ewins.c b/src/ewins.c
index da46849d..bd633dbc 100644
--- a/src/ewins.c
+++ b/src/ewins.c
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2020 Kim Woelders
+ * Copyright (C) 2004-2021 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -895,7 +895,7 @@ AddToFamily(EWin * ewin, EX_Window xwin, XWindowAttributes 
* pxwa, int startup)
        hor = ewin->state.maximized_horz;
        ver = ewin->state.maximized_vert;
        ewin->state.maximized_horz = ewin->state.maximized_vert = 0;
-       MaxSizeHV(ewin, "absolute", hor, ver);
+       MaxSizeHV(ewin, "absolute", hor, ver, SLIDE_FOCUS | SLIDE_SOUND);
        /* Set old state to current maximized one */
        ewin->save_max.x = EoGetX(ewin);
        ewin->save_max.y = EoGetY(ewin);
diff --git a/src/ewins.h b/src/ewins.h
index 628da6f5..e96258a4 100644
--- a/src/ewins.h
+++ b/src/ewins.h
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2020 Kim Woelders
+ * Copyright (C) 2004-2021 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -483,7 +483,7 @@ void                MoveResizeEnd(EWin * ewin);
 
 /* size.c */
 void                MaxSizeHV(EWin * ewin, const char *resize_type,
-                             int hor, int ver);
+                             int hor, int ver, int flags);
 
 /* stacking.c */
 EWin               *const *EwinListStackGet(int *num);
diff --git a/src/ewmh.c b/src/ewmh.c
index 1dfea857..f407d283 100644
--- a/src/ewmh.c
+++ b/src/ewmh.c
@@ -979,7 +979,7 @@ EWMH_ProcessClientClientMessage(EWin * ewin, 
XClientMessageEvent * ev)
             maxv = ewin->state.maximized_vert != maxv;
             if (maxh || maxv)
               {
-                 MaxSizeHV(ewin, "available", maxh, maxv);
+                 MaxSizeHV(ewin, "available", maxh, maxv, 0);
                  EWMH_SetWindowState(ewin);
               }
          }
diff --git a/src/ipc.c b/src/ipc.c
index ea5c3ad6..029bf558 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -650,15 +650,15 @@ IpcWinop(const WinOp * wop, EWin * ewin, const char *prm)
        break;
 
      case EWIN_OP_MAX_WIDTH:
-       MaxSizeHV(ewin, param1, 1, 0);
+       MaxSizeHV(ewin, param1, 1, 0, 0);
        break;
 
      case EWIN_OP_MAX_HEIGHT:
-       MaxSizeHV(ewin, param1, 0, 1);
+       MaxSizeHV(ewin, param1, 0, 1, 0);
        break;
 
      case EWIN_OP_MAX_SIZE:
-       MaxSizeHV(ewin, param1, 1, 1);
+       MaxSizeHV(ewin, param1, 1, 1, 0);
        break;
 
      case EWIN_OP_FULLSCREEN:
diff --git a/src/size.c b/src/size.c
index dd180055..bca0f00e 100644
--- a/src/size.c
+++ b/src/size.c
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2003-2012 Kim Woelders
+ * Copyright (C) 2003-2021 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -814,7 +814,7 @@ pareto_maximizer(EWin * ewin, int type, EWin * const *lst, 
int num,
 #endif /* ENABLE_SMART_MAXIMISE */
 
 void
-MaxSizeHV(EWin * ewin, const char *resize_type, int hor, int ver)
+MaxSizeHV(EWin * ewin, const char *resize_type, int hor, int ver, int flags)
 {
    int                 x, y, w, h, x1, x2, y1, y2, type, bl, br, bt, bb;
    EWin               *const *lst;
@@ -1038,7 +1038,7 @@ MaxSizeHV(EWin * ewin, const char *resize_type, int hor, 
int ver)
 
  do_resize:
    speed = Conf.movres.maximize_animate ? Conf.movres.maximize_speed : 0;
-   EwinSlideSizeTo(ewin, x, y, w, h, speed, 0, SLIDE_WARP);
+   EwinSlideSizeTo(ewin, x, y, w, h, speed, 0, flags | SLIDE_WARP);
 
    HintsSetWindowState(ewin);
 }

-- 


Reply via email to