winfo: add transient_policy information in topvwins 91/263091/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 26 Aug 2021 06:01:48 +0000 (15:01 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 26 Aug 2021 06:01:48 +0000 (15:01 +0900)
Change-Id: Ib7f14599f4501f93152575d7d2f2c51e49b3bc3c

src/bin/e_info_client.c
src/bin/e_info_server.c

index 360ba81..0048421 100644 (file)
@@ -66,6 +66,7 @@ typedef struct _E_Win_Info
    const char  *layer_name; // layer name
    Eina_Bool has_input_region;
    Eina_Bool    transformed;
+   E_Transient  transient_policy;
 } E_Win_Info;
 
 typedef struct output_mode_info
@@ -95,7 +96,7 @@ typedef struct _E_Fps_Info
    double fps;
 } E_Fps_Info;
 
-#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbb"
+#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbi"
 #define VALUE_TYPE_REQUEST_RESLIST "ui"
 #define VALUE_TYPE_REPLY_RESLIST "ssi"
 #define VALUE_TYPE_FOR_INPUTDEV "ssi"
@@ -379,7 +380,7 @@ static E_Win_Info *
 _e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int opaque, const char *name,
                 int x, int y, int w, int h, int layer, int visible, int mapped, int visibility, Eina_Bool force_obscured,
                 int iconic, int frame_visible, int focused, int hwc, int hwc_policy, int pl_zpos, Ecore_Window parent_id,
-                const char *layer_name, Eina_Bool has_input_region, Eina_Bool transformed)
+                const char *layer_name, Eina_Bool has_input_region, Eina_Bool transformed, E_Transient transient_policy)
 {
    E_Win_Info *win = NULL;
 
@@ -411,6 +412,7 @@ _e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int
    win->layer_name = eina_stringshare_add(layer_name);
    win->has_input_region = has_input_region;
    win->transformed = transformed;
+   win->transient_policy = transient_policy;
 
    return win;
 }
@@ -446,6 +448,7 @@ _e_win_info_make_array(Eldbus_Message_Iter *array)
         int pid;
         E_Win_Info *win = NULL;
         Eina_Bool has_input_region = EINA_FALSE;
+        int transient_policy;
         res = eldbus_message_iter_arguments_get(ec,
                                                 VALUE_TYPE_FOR_TOPVWINS,
                                                 &id,
@@ -472,7 +475,8 @@ _e_win_info_make_array(Eldbus_Message_Iter *array)
                                                 &parent_id,
                                                 &layer_name,
                                                 &has_input_region,
-                                                &transformed);
+                                                &transformed,
+                                                &transient_policy);
         if (!res)
           {
              printf("Failed to get win info\n");
@@ -482,7 +486,7 @@ _e_win_info_make_array(Eldbus_Message_Iter *array)
         win = _e_win_info_new(id, res_id, pid, alpha, opaque, win_name, x, y, w, h,
                               layer, visible, mapped, visibility, force_obscured, iconic, frame_visible,
                               focused, hwc, hwc_policy, pl_zpos, parent_id, layer_name,
-                              has_input_region, transformed);
+                              has_input_region, transformed, (E_Transient)transient_policy);
         e_info_client.win_list = eina_list_append(e_info_client.win_list, win);
      }
 }
@@ -1038,9 +1042,9 @@ _e_info_client_proc_ec_list_info(void)
    printf("\n\n%d Top level windows in EC list\n", eina_list_count(e_info_client.win_list));
    printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n");
    if (e_info_client.hwc_windows)
-     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
    else
-     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID  T    w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
    printf("--------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
@@ -1100,7 +1104,7 @@ _e_info_client_proc_ec_list_info(void)
           }
 
         printf("%3d 0x%08zx  %5d  %5d  %c %5d %5d %6d %6d   %c    %c   %3d  %2d   ", i, win->id, win->res_id, win->pid, win->transformed ? 'O':' ', win->w, win->h, win->x, win->y, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque);
-        printf("%2d%c   %d   %d   %s   %3d    %-8s %-8zx   %s\n", win->visibility, win->force_obscured ? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->name?:"No Name");
+        printf("%2d%c   %d   %d   %s   %3d    %-8s%-8zx %c  %s\n", win->visibility, win->force_obscured ? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->parent_id?(win->transient_policy?'B':'A'):' ',win->name?:"No Name");
      }
 
    if (prev_layer_name)
@@ -1166,9 +1170,9 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
    printf("\n%d Top level windows in evas object list\n", eina_list_count(e_info_client.win_list));
    printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
    if (e_info_client.hwc_windows)
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
    else
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
    printf("------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
@@ -1228,7 +1232,7 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
           }
 
         printf("%3d 0x%08zx  %5d  %5d  %5d %5d %6d %6d   %c    %c   %3d  %2d   ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque);
-        printf("%2d%c   %d   %d   %s   %3d    %-8s %-8zx   %s\n", win->visibility, win->force_obscured ? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->name?:"No Name");
+        printf("%2d%c   %d   %d   %s   %3d    %-8s%-8zx %c  %s\n", win->visibility, win->force_obscured ? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->parent_id?(win->transient_policy?'B':'A'):' ',win->name?:"No Name");
      }
 
    if (prev_layer_name)
@@ -1267,9 +1271,9 @@ _e_info_client_proc_topwins_info(int argc, char **argv)
    printf("%d Top level windows\n", eina_list_count(e_info_client.win_list));
    printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
    if (e_info_client.hwc_windows)
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  HWC_ST  Parent   TP    Title\n");
    else
-     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
+     printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos Parent   TP    Title\n");
    printf("------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
@@ -1329,7 +1333,7 @@ _e_info_client_proc_topwins_info(int argc, char **argv)
           }
 
         printf("%3d 0x%08zx  %5d  %5d  %5d %5d %6d %6d   %c    %c   %3d  %2d   ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->focused ? 'O':' ', win->has_input_region ? 'C':' ',win->alpha? 32:24, win->opaque);
-        printf("%2d%c   %d   %d   %s   %3d    %-8s %-8zx   %s\n", win->visibility, win->force_obscured? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->name?:"No Name");
+        printf("%2d%c   %d   %d   %s   %3d    %-8s%-8zx %c  %s\n", win->visibility, win->force_obscured ? 'f':' ', win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->parent_id?(win->transient_policy?'B':'A'):' ',win->name?:"No Name");
      }
 
    if (prev_layer_name)
index c052943..a5c4793 100644 (file)
@@ -79,7 +79,7 @@ static Eina_List *module_hook = NULL;
    str_r -= str_l; \
 } while(0)
 
-#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbb"
+#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbi"
 #define VALUE_TYPE_REQUEST_RESLIST "ui"
 #define VALUE_TYPE_REPLY_RESLIST "ssi"
 #define VALUE_TYPE_FOR_INPUTDEV "ssi"
@@ -311,7 +311,7 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
             e_client_util_name_get(ec) ?: "NO NAME",
             x, y, w, h, ec->layer,
             ec->visible, mapped, ec->argb, ec->visibility.opaque, ec->visibility.obscured, ec->visibility.force_obscured, iconified,
-            evas_object_visible_get(ec->frame), ec->focused, hwc, hwc_policy, pl_zpos, pwin, layer_name, has_input_region, transformed);
+            evas_object_visible_get(ec->frame), ec->focused, hwc, hwc_policy, pl_zpos, pwin, layer_name, has_input_region, transformed, ec->transient_policy);
 
         eldbus_message_iter_container_close(array_of_ec, struct_of_ec);
      }
@@ -401,7 +401,7 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
             e_client_util_name_get(ec) ?: "NO NAME",
             ec->x, ec->y, ec->w, ec->h, ec->layer,
             ec->visible, mapped, ec->argb, ec->visibility.opaque, ec->visibility.obscured, ec->visibility.force_obscured, iconified,
-            evas_object_visible_get(ec->frame), ec->focused, hwc, hwc_policy, pl_zpos, pwin, layer_name, has_input_region, transformed);
+            evas_object_visible_get(ec->frame), ec->focused, hwc, hwc_policy, pl_zpos, pwin, layer_name, has_input_region, transformed, ec->transient_policy);
 
         eldbus_message_iter_container_close(array_of_ec, struct_of_ec);
      }