winfo: add the information for the current zone's display state 39/216539/3
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 28 Oct 2019 08:21:13 +0000 (17:21 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Mon, 4 Nov 2019 05:26:25 +0000 (05:26 +0000)
we added the display state of current zone in topwins(topvwins) information.

Change-Id: Ifcd63ed59e8973be36868ac4e85f0d19e42e3e4b

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

index 31dd6c785a9b3d546de54c5f1f0bc865065583e9..7d67ced81baec4a55fab0ca3f54f90d0baf3639b 100644 (file)
@@ -36,6 +36,9 @@ typedef struct _E_Info_Client
    /* dump_buffers */
    const char *dump_fullpath;
    Eina_Bool dump_success;
+
+   int       zone_id;
+   int       zone_disp_state;
 } E_Info_Client;
 
 typedef struct _E_Win_Info
@@ -504,11 +507,12 @@ _cb_vwindow_info_get(const Eldbus_Message *msg)
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
+   res = eldbus_message_arguments_get(msg, "iiiiisiiiiia("VALUE_TYPE_FOR_TOPVWINS")",
                                       &e_info_client.use_gl, &e_info_client.use_hwc, &e_info_client.use_multi_layer,
                                       &e_info_client.hwc, &e_info_client.hwc_windows,
                                       &engine, &e_info_client.config_engine,
                                       &e_info_client.use_buffer_flush, &e_info_client.deiconify_approve,
+                                      &e_info_client.zone_id, &e_info_client.zone_disp_state,
                                       &array);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
    e_info_client.engine = eina_stringshare_add(engine);
@@ -1121,6 +1125,13 @@ _e_info_client_proc_topvwins_info(int argc, char **argv)
    else
      printf("Deiconify Approve: %s\n", e_info_client.deiconify_approve ? "on":"off");
 
+   if (e_info_client.zone_disp_state == E_ZONE_DISPLAY_STATE_OFF)
+     printf("Zone[%d] Display state: %s\n", e_info_client.zone_id, "off");
+   else if (e_info_client.zone_disp_state == E_ZONE_DISPLAY_STATE_ON)
+     printf("Zone[%d] Display state: %s\n", e_info_client.zone_id, "on");
+   else
+     printf("Zone[ ] Display state: %s\n", "unknown");
+
    printf("\n%d Top level windows in evas object list\n", eina_list_count(e_info_client.win_list));
    printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
    printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
index 393b1768f3a5a8b9baafa08f53e1092ff6de20c6..2657178d76ea7ec73b21ff0007c2843c7fa9a098 100644 (file)
@@ -421,6 +421,10 @@ _e_info_server_is_hwc_windows()
 static Eldbus_Message *
 _e_info_server_cb_window_info_get(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
 {
+   E_Zone *zone = NULL;
+   int zone_id = -1;
+   int disp_state = -1;
+
    Eldbus_Message *reply = eldbus_message_method_return_new(msg);
    Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
 
@@ -434,6 +438,15 @@ _e_info_server_cb_window_info_get(const Eldbus_Service_Interface *iface EINA_UNU
    eldbus_message_iter_basic_append(iter, 'i', e_config->use_buffer_flush);
    eldbus_message_iter_basic_append(iter, 'i', e_config->deiconify_approve);
 
+   zone = e_zone_current_get();
+   if (zone)
+     {
+        zone_id = zone->id;
+        disp_state = e_zone_display_state_get(zone);
+     }
+   eldbus_message_iter_basic_append(iter, 'i', zone_id);
+   eldbus_message_iter_basic_append(iter, 'i', disp_state);
+
    _msg_clients_append(iter, EINA_TRUE);
 
    return reply;
@@ -6231,7 +6244,7 @@ _e_info_server_cb_focus_history(const Eldbus_Service_Interface *iface EINA_UNUSE
 
 //{ "method_name", arguments_from_client, return_values_to_client, _method_cb, ELDBUS_METHOD_FLAG },
 static const Eldbus_Method methods[] = {
-   { "get_window_info", NULL, ELDBUS_ARGS({"iiiiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
+   { "get_window_info", NULL, ELDBUS_ARGS({"iiiiisiiiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
    { "get_ec_info", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
    { "get_all_window_info", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
    { "compobjs", NULL, ELDBUS_ARGS({"a("SIGNATURE_COMPOBJS_CLIENT")", "array of comp objs"}), _e_info_server_cb_compobjs, 0 },