}
static void
-_e_info_client_proc_ec_list_info(void)
+_e_info_client_proc_ec_list_info(Eina_Bool check_visible)
{
E_Win_Info *win;
Eina_List *l;
const char *prev_layer_name = NULL;
- if (!_e_info_client_eldbus_message("get_ec_info", _cb_vec_info_get))
- return;
+ if (check_visible)
+ {
+ if (!_e_info_client_eldbus_message("get_ec_info", _cb_vec_info_get))
+ return;
+ }
+ else
+ {
+ if (!_e_info_client_eldbus_message("get_all_ec_info", _cb_vec_info_get))
+ return;
+ }
printf("\n\n%d Top level windows in EC list\n", eina_list_count(e_info_client.win_list));
printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n");
}
ec_info:
- _e_info_client_proc_ec_list_info();
+ _e_info_client_proc_ec_list_info(EINA_TRUE);
}
const char *prev_layer_name = NULL;
if (!_e_info_client_eldbus_message("get_all_window_info", _cb_window_info_get))
- return;
+ goto ec_info;
printf("%d Top level windows\n", eina_list_count(e_info_client.win_list));
printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
if (!e_info_client.win_list)
{
printf("no window\n");
- return;
+ goto ec_info;
}
EINA_LIST_FOREACH(e_info_client.win_list, l, win)
{
- if (!win) return;
+ if (!win) goto ec_info;
char tmp[20];
i++;
if (win->layer != prev_layer)
printf("\nHWC is disabled\n\n");
E_FREE_LIST(e_info_client.win_list, _e_win_info_free);
+
+ec_info:
+ _e_info_client_proc_ec_list_info(EINA_FALSE);
}
static void
return reply;
}
+static Eldbus_Message *
+_e_info_server_cb_all_ec_info_get(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+ Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+ Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
+
+ eldbus_message_iter_basic_append(iter, 'i', e_comp->hwc);
+ eldbus_message_iter_basic_append(iter, 'i', _e_info_server_is_hwc_windows());
+
+ _msg_ecs_append(iter, EINA_FALSE);
+
+ return reply;
+}
/* Method Handlers */
static Eldbus_Message *
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_ec_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
+ { "get_all_ec_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_all_ec_info_get, 0 },
{ "get_all_window_info", NULL, ELDBUS_ARGS({"iia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
{ "get_zone_info", NULL, ELDBUS_ARGS({"("VALUE_TYPE_FOR_ZONE")", "array of zone"}), _e_info_server_cb_zone_info_get, 0 },
{ "compobjs", NULL, ELDBUS_ARGS({"a("SIGNATURE_COMPOBJS_CLIENT")", "array of comp objs"}), _e_info_server_cb_compobjs, 0 },