add a notification level for getting visible window information 94/130294/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 22 May 2017 00:06:18 +0000 (09:06 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 22 May 2017 00:06:18 +0000 (09:06 +0900)
Change-Id: Id64109f4f5342462b1a2652489bb4ff0d612ce1a

src/e_mod_processmgr.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index bafac16..9ac3c55
@@ -10,7 +10,7 @@ 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 "uiiiibibiii"
+#define VALUE_TYPE_FOR_VISIBLE_WINS "uiiiibibiiii"
 
 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);
@@ -143,6 +143,7 @@ _msg_window_info_append(Eldbus_Message_Iter *iter)
    E_Client *p_ec;
    E_Client *a_ec;
    Evas_Object *o;
+   int noti_level;
 
    eldbus_message_iter_arguments_append(iter, "a("VALUE_TYPE_FOR_VISIBLE_WINS")", &array_of_win);
 
@@ -203,11 +204,36 @@ _msg_window_info_append(Eldbus_Message_Iter *iter)
              a_pid = _process_id_get(a_ec);
           }
 
+        // notification level info
+        if (ec->layer < E_LAYER_CLIENT_NOTIFICATION_LOW)
+          noti_level = 0;
+        else
+          {
+             switch (ec->layer)
+               {
+                case E_LAYER_CLIENT_NOTIFICATION_LOW:
+                   noti_level = 10;
+                   break;
+                case E_LAYER_CLIENT_NOTIFICATION_NORMAL:
+                   noti_level = 20;
+                   break;
+                case E_LAYER_CLIENT_NOTIFICATION_HIGH:
+                   noti_level = 30;
+                   break;
+                case E_LAYER_CLIENT_NOTIFICATION_TOP:
+                   noti_level = 40;
+                   break;
+                default:
+                   noti_level = 99;
+                   break;
+               }
+          }
+
         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);
+            res_id, x, y, w, h, is_alpha, visibility, focused, pid, p_pid, a_pid, noti_level);
 
         eldbus_message_iter_container_close(array_of_win, struct_of_win);
      }