From 299c6defe0bb5953e1351b0bfd8193455b89cbd9 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 4 May 2023 17:01:59 +0900 Subject: [PATCH] winfo: add layout_apply info to topvwins option Change-Id: I1f36b43861a7d73a1b22799cc17fa288c0f09a01 --- src/bin/e_info_client.c | 37 ++++++++++++++++++++++--------------- src/bin/e_info_server.c | 6 +++--- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/bin/e_info_client.c b/src/bin/e_info_client.c index e9c9bde..64979c2 100644 --- a/src/bin/e_info_client.c +++ b/src/bin/e_info_client.c @@ -75,6 +75,7 @@ typedef struct _E_Win_Info Eina_Bool transformed; E_Transient transient_policy; int zone_id; + Eina_Bool is_apply_layout; } E_Win_Info; typedef struct output_mode_info @@ -105,7 +106,7 @@ typedef struct _E_Fps_Info } E_Fps_Info; #define VALUE_TYPE_FOR_ZONE "iiiiiibii" -#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbii" +#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbiib" #define VALUE_TYPE_REQUEST_RESLIST "ui" #define VALUE_TYPE_REPLY_RESLIST "ssu" #define VALUE_TYPE_FOR_INPUTDEV "ssiss" @@ -439,7 +440,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, E_Transient transient_policy, int zone_id) + const char *layer_name, Eina_Bool has_input_region, Eina_Bool transformed, E_Transient transient_policy, int zone_id, Eina_Bool is_apply_layout) { E_Win_Info *win = NULL; @@ -473,6 +474,7 @@ _e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int win->transformed = transformed; win->transient_policy = transient_policy; win->zone_id = zone_id; + win->is_apply_layout = is_apply_layout; return win; } @@ -510,6 +512,7 @@ _e_win_info_make_array(Eldbus_Message_Iter *array) Eina_Bool has_input_region = EINA_FALSE; int transient_policy; int zone_id; + Eina_Bool is_apply_layout; res = eldbus_message_iter_arguments_get(ec, VALUE_TYPE_FOR_TOPVWINS, &id, @@ -538,7 +541,8 @@ _e_win_info_make_array(Eldbus_Message_Iter *array) &has_input_region, &transformed, &transient_policy, - &zone_id); + &zone_id, + &is_apply_layout); if (!res) { printf("Failed to get win info\n"); @@ -548,7 +552,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, (E_Transient)transient_policy, zone_id); + has_input_region, transformed, (E_Transient)transient_policy, zone_id, is_apply_layout); e_info_client.win_list = eina_list_append(e_info_client.win_list, win); } } @@ -1146,11 +1150,14 @@ _e_info_client_proc_ec_list_info(Eina_Bool check_visible) } printf("\n\n%d Top level windows in EC list\n", eina_list_count(e_info_client.win_list)); - printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n"); + if (check_visible) + printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n"); + else + printf("--------------------------------------------[ topwins ]------------------------------------------------------------------------------\n"); if (e_info_client.hwc_windows) - printf(" No Win_ID RcsID PID T w h x y Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame HWC_ST Parent TP Title\n"); + printf(" No Win_ID RcsID PID T w h x y L Zone 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 Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); + printf(" No Win_ID RcsID PID T w h x y L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); printf("--------------------------------------------------------------------------------------------------------------------------------------\n"); if (!e_info_client.win_list) @@ -1209,7 +1216,7 @@ _e_info_client_proc_ec_list_info(Eina_Bool check_visible) snprintf(tmp, sizeof(tmp), " - "); } - printf("%3d 0x%08zx %5d %5d %c %5d %5d %6d %6d %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->transformed ? 'O':' ', win->w, win->h, win->x, win->y, win->zone_id, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque); + printf("%3d 0x%08zx %5d %5d %c %5d %5d %6d %6d %c %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->transformed ? 'O':' ', win->w, win->h, win->x, win->y, win->is_apply_layout ? 'L':' ', win->zone_id, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque); 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"); } @@ -1290,9 +1297,9 @@ _e_info_client_proc_topvwins_info(int argc, char **argv) printf("%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 Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame HWC_ST Parent TP Title\n"); + printf(" No Win_ID RcsID PID w h x y L Zone 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 Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); + printf(" No Win_ID RcsID PID w h x y L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); printf("------------------------------------------------------------------------------------------------------------------------------------\n"); if (!e_info_client.win_list) @@ -1353,7 +1360,7 @@ _e_info_client_proc_topvwins_info(int argc, char **argv) snprintf(tmp, sizeof(tmp), " - "); } - printf("%3d 0x%08zx %5d %5d %5d %5d %6d %6d %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->zone_id, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque); + printf("%3d 0x%08zx %5d %5d %5d %5d %6d %6d %c %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->is_apply_layout ? 'L':' ', win->zone_id, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque); 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"); } @@ -1392,11 +1399,11 @@ _e_info_client_proc_topwins_info(int argc, char **argv) goto ec_info; printf("%d Top level windows\n", eina_list_count(e_info_client.win_list)); - printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n"); + printf("--------------------------------------[ topwins ]----------------------------------------------------------------------------------\n"); if (e_info_client.hwc_windows) - printf(" No Win_ID RcsID PID w h x y Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame HWC_ST Parent TP Title\n"); + printf(" No Win_ID RcsID PID w h x y L Zone 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 Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); + printf(" No Win_ID RcsID PID w h x y L Zone Foc InReg Dep Opaq Vsbt Icon Vis Map Frame PL@ZPos Parent TP Title\n"); printf("------------------------------------------------------------------------------------------------------------------------------------\n"); if (!e_info_client.win_list) @@ -1455,7 +1462,7 @@ _e_info_client_proc_topwins_info(int argc, char **argv) snprintf(tmp, sizeof(tmp), " - "); } - printf("%3d 0x%08zx %5d %5d %5d %5d %6d %6d %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->zone_id, win->focused ? 'O':' ', win->has_input_region ? 'C':' ',win->alpha? 32:24, win->opaque); + printf("%3d 0x%08zx %5d %5d %5d %5d %6d %6d %c %2d %c %c %3d %2d ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->is_apply_layout ? 'L':' ', win->zone_id, win->focused ? 'O':' ', win->has_input_region ? 'C':' ',win->alpha? 32:24, win->opaque); 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"); } diff --git a/src/bin/e_info_server.c b/src/bin/e_info_server.c index 6057bdc..b83562d 100644 --- a/src/bin/e_info_server.c +++ b/src/bin/e_info_server.c @@ -81,7 +81,7 @@ static Eina_List *module_hook = NULL; } while(0) #define VALUE_TYPE_FOR_ZONE "iiiiiibii" -#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbii" +#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbiib" #define VALUE_TYPE_REQUEST_RESLIST "ui" #define VALUE_TYPE_REPLY_RESLIST "ssu" #define VALUE_TYPE_FOR_INPUTDEV "ssiss" @@ -365,7 +365,7 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible) 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, ec->transient_policy, - zone_id); + zone_id, ec->apply_layout); eldbus_message_iter_container_close(array_of_ec, struct_of_ec); } @@ -464,7 +464,7 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible) 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, ec->transient_policy, - zone_id); + zone_id, ec->apply_layout); eldbus_message_iter_container_close(array_of_ec, struct_of_ec); } -- 2.7.4