e_client/e_policy_wl: add code to handle a new role for aot window 41/312541/1 accepted/tizen/7.0/unified/20240613.012851
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 11 Jun 2024 10:25:40 +0000 (19:25 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 11 Jun 2024 10:25:40 +0000 (19:25 +0900)
Change-Id: I3ab79800cbbe088368b9478fff94329ec829c372

src/bin/e_client.c
src/bin/e_client.h
src/bin/e_policy_wl.c

index 5b6d865df26016fb79ec6880ee5405affb211d2a..ebfc3bdd9e62f313181328b46307f916b60835f5 100644 (file)
@@ -9256,3 +9256,15 @@ e_client_is_layout_apply(E_Client *ec)
    if (!ec) return EINA_FALSE;
    return ec->apply_layout;
 }
+
+EINTERN void e_client_aot_type_set(E_Client *ec, E_Aot_Type type)
+{
+   if (!ec) return;
+   ec->aot_type = type;
+}
+
+EINTERN E_Aot_Type e_client_aot_type_get(E_Client *ec)
+{
+   if (!ec) return E_AOT_TYPE_NONE;
+   else return ec->aot_type;
+}
index fe5461b87b3539a1885fcb445874848f66bbb653..8dcc5cbcfe88b9549b0cbf7097f16e0a460c2dae 100644 (file)
@@ -214,6 +214,12 @@ typedef enum _E_Iconified_Type
    E_ICONIFIED_TYPE_DESK_ICONIFY_BY_CLIENT = 3, // iconified by iconify all windows in the desk request
 } E_Iconified_Type;
 
+typedef enum _E_Aot_Type
+{
+   E_AOT_TYPE_NONE,
+   E_AOT_TYPE_LAUNCHER,
+} E_Aot_Type;
+
 typedef struct E_Client E_Client;
 
 typedef struct E_Event_Client E_Event_Client;
@@ -1072,6 +1078,8 @@ struct E_Client
 
    E_Maximize_Direction maximize_dir;
    Eina_Bool apply_layout;
+
+   E_Aot_Type aot_type;
 };
 
 #define e_client_focus_policy_click(ec) \
@@ -1373,6 +1381,9 @@ e_client_util_move_without_frame(E_Client *ec, int x, int y)
    evas_object_move(ec->frame, x, y);
 }
 
+EINTERN void e_client_aot_type_set(E_Client *ec, E_Aot_Type type);
+EINTERN E_Aot_Type e_client_aot_type_get(E_Client *ec);
+
 /**
  * Resize window to values that do not account client decorations yet.
  *
index ee525cbe8590b73dce9d50a93d4c5fee36e971b1..70ec8ccaf60a2af8c0477c1b5b1bdf56ce55d3cf 100644 (file)
@@ -1789,6 +1789,15 @@ _tzpol_iface_cb_role_set(struct wl_client *client EINA_UNUSED, struct wl_resourc
         ec->is_cursor = EINA_TRUE;
         e_client_desk_iconify_skip_set(ec, EINA_TRUE);
      }
+   else if (!e_util_strcmp("aot-app_launcher", role))
+     {
+        e_client_aot_type_set(ec, E_AOT_TYPE_LAUNCHER);
+        if (ec->frame)
+          {
+             ELOGF("TZPOL", "AOT Launcher window. Set to skip compositing", ec);
+             evas_object_color_set(ec->frame, 0, 0, 0, 0);
+          }
+     }
 }
 
 static void