Add E_EVENT_CLIENT_LAUNCH_REAL_DONE event 29/321529/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 24 Mar 2025 08:54:32 +0000 (17:54 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 25 Mar 2025 01:03:10 +0000 (10:03 +0900)
We add the E_EVENT_CLIENT_LAUNCH_REAL_DONE event.
This can be used to replace the edje signal - e,action,launch_real,done

Change-Id: Id10eab3ef4862bd7582e704f48886bc51e203a91

src/bin/compmgr/e_comp_object.c
src/bin/core/e_client.c
src/bin/server/e_tizen_launch_effect.c
src/bin/windowmgr/e_policy.c
src/bin/windowmgr/services/e_service_launcher.c
src/include/e_client.h

index df185ae6be84a5c11eff20f8b0c51f844ff9e8c1..dc367dfbd823e8f3e61c4bcff2e95b095f3b76e1 100644 (file)
@@ -838,6 +838,7 @@ _e_comp_object_animating_end(E_Comp_Object *cw)
                               {
                                  ELOGF("LAUNCH", "SHOW real win", cw->ec);
                                  e_comp_object_signal_emit(cw->ec->frame, "e,action,launch_real,done", "e");
+                                 e_client_launch_real_done_event_send(cw->ec);
                               }
 
                             e_comp_object_signal_emit(cw->ec->frame, "e,action,launch,done", "e");
index da8f7e36f782fea49ab70b7810b7a4062d8b9f0c..84660bf869ce031b12a769c6f5d6b1f53c5b6a9d 100644 (file)
@@ -178,6 +178,7 @@ E_API int E_EVENT_CLIENT_VISIBILITY_CHANGE = -1;
 E_API int E_EVENT_CLIENT_BUFFER_CHANGE = -1;
 E_API int E_EVENT_CLIENT_FOCUS_SKIP_SET = -1;
 E_API int E_EVENT_CLIENT_FOCUS_SKIP_UNSET = -1;
+E_API int E_EVENT_CLIENT_LAUNCH_REAL_DONE = -1;
 
 static Eina_Hash *clients_hash[E_PIXMAP_TYPE_MAX] = {NULL}; // pixmap->client
 
@@ -3253,8 +3254,9 @@ e_client_init(void)
    E_EVENT_CLIENT_ROTATION_GEOMETRY_SET = ecore_event_type_new();
    E_EVENT_CLIENT_VISIBILITY_CHANGE = ecore_event_type_new();
    E_EVENT_CLIENT_BUFFER_CHANGE = ecore_event_type_new();
-   E_EVENT_CLIENT_FOCUS_SKIP_SET = ecore_event_type_new();;
-   E_EVENT_CLIENT_FOCUS_SKIP_UNSET = ecore_event_type_new();;
+   E_EVENT_CLIENT_FOCUS_SKIP_SET = ecore_event_type_new();
+   E_EVENT_CLIENT_FOCUS_SKIP_UNSET = ecore_event_type_new();
+   E_EVENT_CLIENT_LAUNCH_REAL_DONE = ecore_event_type_new();
 
    return (!!clients_hash[1]);
 }
@@ -8807,6 +8809,14 @@ e_client_hwc_window_get(E_Client *ec)
    return ec->hwc_window;
 }
 
+E_API void
+e_client_launch_real_done_event_send(E_Client *ec)
+{
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+
+   _e_client_event_simple(ec, E_EVENT_CLIENT_LAUNCH_REAL_DONE);
+}
+
 /////////////////////////////////////////////////////////
 EINTERN E_Comp_Wl_Subsurf_Data *
 e_client_subsurface_data_try_get(E_Client *ec)
index 70924571fd6cb1ab324d82766143f49e2e9933db..9afae7e541ba58ae842946e4acd797f43c36420e 100644 (file)
@@ -190,6 +190,7 @@ _launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
                     {
                        ELOGF("LAUNCH", "SHOW real win by replaced splash ec", ec);
                        e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch_real,done", "e");
+                       e_client_launch_real_done_event_send(ec);
                     }
                   e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch,done", "e");
                }
index 4ce5be194b7d88e708606911d295e58637d7578c..39966c08ef67f4e71c43ca456f46fb9db257ebc6 100644 (file)
@@ -2342,6 +2342,7 @@ _e_policy_client_cb_client_map_prepare(struct wl_listener *listener, void *data)
      {
         ELOGF("LAUNCH", "SHOW real win after splash effect", ec);
         e_view_client_signal_emit(e_client_view_get(ec), "e,action,launch_real,done", "e");
+        e_client_launch_real_done_event_send(ec);
      }
    ec->use_splash = EINA_FALSE;
 
index 08e6d7514ec265ed5e0d882651eb5122666064d3..1566e28d3d89f1b3195618c58e78e98a3b97708a 100644 (file)
@@ -1342,6 +1342,7 @@ _launcher_cb_launch_done(struct wl_client *client EINA_UNUSED,
                        E_Comp_Wl_Client_Data *target_cdata = e_client_cdata_get(target_ec);
                        ELOGF("LAUNCH", "SHOW real win (target->frame:%p, map:%d) by launcher service (win:0x%08zx, ec:%p).", target_ec, target_ec->frame, target_cdata->mapped, e_client_util_win_get(lc->ec), lc->ec);
                        e_view_client_signal_emit(e_client_view_get(target_ec), "e,action,launch_real,done", "e");
+                       e_client_launch_real_done_event_send(target_ec);
                     }
                   e_comp_object_signal_emit(target_ec->frame, "e,action,launch,done", "e");
                }
index 0066419f6dc80028702520b1280ef4a9bb894a1e..06961db35fa526a186951f002b8dab6aae02f8d9 100644 (file)
@@ -902,6 +902,7 @@ E_API extern int E_EVENT_CLIENT_VISIBILITY_CHANGE;
 E_API extern int E_EVENT_CLIENT_BUFFER_CHANGE;
 E_API extern int E_EVENT_CLIENT_FOCUS_SKIP_SET;
 E_API extern int E_EVENT_CLIENT_FOCUS_SKIP_UNSET;
+E_API extern int E_EVENT_CLIENT_LAUNCH_REAL_DONE;
 
 E_API E_Client *e_client_new(E_Pixmap *cp, int first_map, int internal);
 E_API E_Client *e_client_from_surface_resource(struct wl_resource *surface_resource);
@@ -1277,6 +1278,8 @@ E_API void      e_client_vkbd_vkbd_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_vkbd_vkbd_get(E_Client *ec);
 
 E_API E_Hwc_Window *e_client_hwc_window_get(E_Client *ec);
+
+E_API void e_client_launch_real_done_event_send(E_Client *ec);
 /////////////////////////////////////////////////////////
 
 #endif