e_client: add e_client_map_post 76/320876/1
authorSooChan Lim <sc1.lim@samsung.com>
Sun, 9 Mar 2025 08:08:11 +0000 (17:08 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 10 Mar 2025 08:46:03 +0000 (17:46 +0900)
This function sends the map_post signal on e_client

Change-Id: Ib1d94802342f6d3b7e64decd5400d864ffd5df36

src/bin/core/e_client.c
src/bin/core/e_client_intern.h

index d54e42d59b7d81c5db06c475a1529ce099f13056..04e5a74af4764801c8cf345887f8e326082dbf28 100644 (file)
@@ -121,6 +121,7 @@ struct _E_Client_Private
         struct wl_signal virtual_touch;
         struct wl_signal parent_set;
         struct wl_signal map_prepare;
+        struct wl_signal map_post;
      } events;
 
    Eina_Bool hide_by_request;
@@ -1068,6 +1069,7 @@ _e_client_private_init(E_Client *ec)
 
    wl_signal_init(&priv->events.parent_set);
    wl_signal_init(&priv->events.map_prepare);
+   wl_signal_init(&priv->events.map_post);
 
    e_object_data_set(E_OBJECT(ec), priv);
 
@@ -3087,6 +3089,14 @@ e_client_map_prepare(E_Client *ec)
    wl_signal_emit(&PRI(ec)->events.map_prepare, NULL);
 }
 
+EINTERN void
+e_client_map_post(E_Client *ec)
+{
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+
+   wl_signal_emit(&PRI(ec)->events.map_post, NULL);
+}
+
 EINTERN void
 e_client_modal_child_set(E_Client *ec, E_Client *modal)
 {
@@ -7284,6 +7294,13 @@ e_client_map_prepare_listener_add(E_Client *ec, struct wl_listener *listener)
    wl_signal_add(&priv->events.map_prepare, listener);
 }
 
+EINTERN void
+e_client_map_post_listener_add(E_Client *ec, struct wl_listener *listener)
+{
+   API_ENTRY;
+   wl_signal_add(&priv->events.map_post, listener);
+}
+
 EINTERN Eina_Bool
 e_client_shell_configure_send(E_Client *ec, uint32_t edges, int32_t width, int32_t height)
 {
index 62426606a5633873f11a8b7ddf7ceb8c5a3a4059..ab11ac94f8107399966b9dc85d4a4327faa6f49d 100644 (file)
@@ -140,6 +140,7 @@ EINTERN E_Client *e_client_transient_child_top_get(E_Client *ec, Eina_Bool consi
 EINTERN Eina_Bool e_client_mapped_get(E_Client *ec);
 EINTERN void      e_client_mapped_set(E_Client *ec, Eina_Bool set);
 EINTERN void      e_client_map_prepare(E_Client *ec);
+EINTERN void      e_client_map_post(E_Client *ec);
 
 EINTERN void      e_client_modal_child_set(E_Client *ec, E_Client *modal_child);
 EINTERN E_Client *e_client_modal_child_get(E_Client *ec);
@@ -262,6 +263,7 @@ EINTERN void e_client_resize_end_listener_add(E_Client *ec, struct wl_listener *
 EINTERN void e_client_virtual_touch_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_parent_set_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_map_prepare_listener_add(E_Client *ec, struct wl_listener *listener);
+EINTERN void e_client_map_post_listener_add(E_Client *ec, struct wl_listener *listener);
 
 EINTERN struct wl_listener  *e_client_destroy_listener_get(E_Client *ec, wl_notify_func_t notify);