From: Doyoun Kang Date: Sat, 27 Jul 2024 03:56:43 +0000 (+0900) Subject: e_client: add E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET hook X-Git-Tag: accepted/tizen/unified/20240805.114525~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F68%2F315368%2F1;p=platform%2Fupstream%2Fenlightenment.git e_client: add E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET hook Change-Id: I00d35691f4c3fc615aeb129a8fb31a12ddd948da --- diff --git a/src/bin/core/e_client.c b/src/bin/core/e_client.c index d0f6e82..b08a89f 100644 --- a/src/bin/core/e_client.c +++ b/src/bin/core/e_client.c @@ -225,6 +225,7 @@ static Eina_Inlist *_e_client_intercept_hooks[] = { [E_CLIENT_INTERCEPT_HOOK_FOCUS_REVERT] = NULL, [E_CLIENT_INTERCEPT_HOOK_AUTO_PLACEMENT] = NULL, + [E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET] = NULL, }; /////////////////////////////////////////// @@ -4236,8 +4237,15 @@ e_client_layout_set(E_Client *ec, uint32_t num_cols, uint32_t num_rows, uint32_t e_client_layout_geometry_set(ec, x, y, w, h); e_client_layout_apply(ec, EINA_TRUE); + if (!_e_client_intercept_hook_call(E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET, ec)) + { + ELOGF("POL", "E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET Intercepted.", ec); + goto end; + } + e_client_frame_geometry_set(ec, x, y, w, h); +end: if (!ec->visible) e_client_shell_configure_send(ec, 0, w, h); } diff --git a/src/include/e_client.h b/src/include/e_client.h index 4b4d67e..1002590 100644 --- a/src/include/e_client.h +++ b/src/include/e_client.h @@ -300,6 +300,7 @@ typedef enum _E_Client_Intercept_Hook_Point { E_CLIENT_INTERCEPT_HOOK_FOCUS_REVERT, E_CLIENT_INTERCEPT_HOOK_AUTO_PLACEMENT, + E_CLIENT_INTERCEPT_HOOK_LAYOUT_GEOMETRY_SET, E_CLIENT_INTERCEPT_HOOK_LAST, } E_Client_Intercept_Hook_Point;