add a opaque state for getting visible window information 71/165771/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 Jan 2018 01:41:07 +0000 (10:41 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 Jan 2018 01:41:07 +0000 (10:41 +0900)
Change-Id: Icbf4554bb804eadd596db55d96961a1b7811ec5e

src/e_mod_processmgr.c

index 5333056..4a4efb7 100644 (file)
@@ -11,8 +11,8 @@ static Eina_List *_e_processmgr_wl_hooks = NULL;
 Eldbus_Connection *_e_processmgr_conn;
 Eldbus_Service_Interface *_e_processmgr_iface;
 
-// global res_id, geo(x,y,w,h), alpha, visibility, focused, pid, parent pid, acestor pid
-#define VALUE_TYPE_FOR_VISIBLE_WINS "uiiiibibiiii"
+// global res_id, geo(x,y,w,h), alpha, visibility, focused, pid, parent pid, acestor pid, noti level, opaque
+#define VALUE_TYPE_FOR_VISIBLE_WINS "uiiiibibiiiib"
 
 static void _e_processmgr_process_action_send(int pid, E_Process_Action act);
 static void _e_processmgr_cb_hook_action_change(void *d EINA_UNUSED, E_Process *epro, void *user);
@@ -153,6 +153,7 @@ _msg_window_info_append(Eldbus_Message_Iter *iter)
    E_Client *a_ec;
    Evas_Object *o;
    int noti_level;
+   Eina_Bool is_opaque;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(iter, EINA_FALSE);
 
@@ -240,11 +241,16 @@ _msg_window_info_append(Eldbus_Message_Iter *iter)
                }
           }
 
+        if (ec->argb && (ec->visibility.opaque <= 0))
+          is_opaque = EINA_FALSE;
+        else
+          is_opaque = EINA_TRUE;
+
         eldbus_message_iter_arguments_append(array_of_win, "("VALUE_TYPE_FOR_VISIBLE_WINS")", &struct_of_win);
 
         eldbus_message_iter_arguments_append
            (struct_of_win, VALUE_TYPE_FOR_VISIBLE_WINS,
-            res_id, x, y, w, h, is_alpha, visibility, focused, pid, p_pid, a_pid, noti_level);
+            res_id, x, y, w, h, is_alpha, visibility, focused, pid, p_pid, a_pid, noti_level, is_opaque);
 
         eldbus_message_iter_container_close(array_of_win, struct_of_win);
      }