winfo: use '-screen_info' option to show a list of output's info 67/273367/1
authorduna.oh <duna.oh@samsung.com>
Mon, 4 Apr 2022 03:54:58 +0000 (12:54 +0900)
committerduna.oh <duna.oh@samsung.com>
Tue, 5 Apr 2022 03:15:34 +0000 (12:15 +0900)
Change-Id: I1107d7a987a85009c7f6dc65c7717985ba2d512f

src/bin/e_comp_screen.c

index df14785..cff04e2 100644 (file)
@@ -1808,6 +1808,27 @@ e_comp_screen_size_get(E_Comp_Screen *e_comp_screen, int *w, int *h)
 
    return EINA_TRUE;
 }
+static char *
+_e_comp_screen_dpms_to_string(E_OUTPUT_DPMS dpms)
+{
+   switch (dpms)
+     {
+        case E_OUTPUT_DPMS_ON:
+          return "DPMS_ON";
+          break;
+        case E_OUTPUT_DPMS_STANDBY:
+          return "DPMS_STANDBY";
+          break;
+        case E_OUTPUT_DPMS_SUSPEND:
+          return "DPMS_SUSPEND";
+          break;
+        case E_OUTPUT_DPMS_OFF:
+          return "DPMS_OFF";
+          break;
+        default:
+          return "Unknown";
+     }
+}
 
 EINTERN void
 e_comp_screen_debug_info_get(Eldbus_Message_Iter *iter)
@@ -1818,7 +1839,6 @@ e_comp_screen_debug_info_get(Eldbus_Message_Iter *iter)
    E_Hwc *hwc = NULL;
    Eina_List *l;
    char info_str[1024];
-   int idx = 0;
 
    e_comp_screen = e_comp->e_comp_screen;
 
@@ -1833,13 +1853,11 @@ e_comp_screen_debug_info_get(Eldbus_Message_Iter *iter)
      }
 
    eldbus_message_iter_basic_append(line_array, 's',
-   "==========================================================================================="
-   "=============================================================");
+   "===========================================================================================");
    eldbus_message_iter_basic_append(line_array, 's',
-   " idx   maker   model   name   type   status   dpms   subpixel   align_w   min   max   phy(mm)");
+   " idx      id           status       dpms     (   x  ,   y  ) ( w    x    h ) ");
    eldbus_message_iter_basic_append(line_array, 's',
-   "==========================================================================================="
-   "=============================================================");
+   "===========================================================================================");
 
    EINA_LIST_FOREACH(e_comp_screen->outputs, l, output)
      {
@@ -1848,14 +1866,18 @@ e_comp_screen_debug_info_get(Eldbus_Message_Iter *iter)
         if (!output->hwc) continue;
         if (e_hwc_policy_get(hwc) == E_HWC_POLICY_NONE) continue;
 
-        // TODO: need to implement more to show the specific information
-        snprintf(info_str, sizeof(info_str), "%d, %s", ++idx, "NOT IMPLEMENTED YET~!!! TODO::::");
+        snprintf(info_str, sizeof(info_str), "%2d %12s %15s %10s   (%5d , %5d) (%5d x %5d)",
+                 output->index, output->id,
+                 output->info.connected ? "connected" : "disconnected",
+                 _e_comp_screen_dpms_to_string(output->dpms),
+                 output->config.geom.x, output->config.geom.y,
+                 output->config.geom.w, output->config.geom.h);
+
         eldbus_message_iter_basic_append(line_array, 's', info_str);
      }
 
    eldbus_message_iter_basic_append(line_array, 's',
-   "==========================================================================================="
-   "=============================================================");
+   "===========================================================================================");
 
    eldbus_message_iter_container_close(iter, line_array);
 }