add a configuration to control the priority of application process 35/142935/4
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 8 Aug 2017 02:23:29 +0000 (11:23 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 9 Aug 2017 09:39:30 +0000 (09:39 +0000)
Change-Id: I6a6a20f7676e7513b85d7396d8b0ed1374f94685

src/bin/e_comp_wl.c
src/bin/e_config.c
src/bin/e_config.h

index e3e7a98..aecb845 100644 (file)
@@ -1480,6 +1480,7 @@ _e_comp_wl_client_priority_adjust(int pid, int set, int adj, Eina_Bool use_adj,
 static void
 _e_comp_wl_client_priority_raise(E_Client *ec)
 {
+   if (!e_config->priority_control) return;
    if (ec->netwm.pid <= 0) return;
    if (ec->netwm.pid == getpid()) return;
    _e_comp_wl_client_priority_adjust(ec->netwm.pid,
@@ -1490,6 +1491,7 @@ _e_comp_wl_client_priority_raise(E_Client *ec)
 static void
 _e_comp_wl_client_priority_normal(E_Client *ec)
 {
+   if (!e_config->priority_control) return;
    if (ec->netwm.pid <= 0) return;
    if (ec->netwm.pid == getpid()) return;
    _e_comp_wl_client_priority_adjust(ec->netwm.pid, e_config->priority, 1,
index 5bad109..2c2f409 100644 (file)
@@ -288,6 +288,7 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, rsm_buffer_release_mode, INT);
    E_CONFIG_VAL(D, T, deiconify_approve, UCHAR);
    E_CONFIG_VAL(D, T, use_pp_zoom, UCHAR);
+   E_CONFIG_VAL(D, T, priority_control, UCHAR);
 }
 
 static Eina_Bool
@@ -508,6 +509,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->rsm_buffer_release_mode, 0, 2);
    E_CONFIG_LIMIT(e_config->deiconify_approve, 0, 1);
    E_CONFIG_LIMIT(e_config->use_pp_zoom, 0, 1);
+   E_CONFIG_LIMIT(e_config->priority_control, 0, 1);
 }
 
 E_API int
index 640713d..2fc6cc7 100644 (file)
@@ -191,6 +191,7 @@ struct _E_Config
    int rsm_buffer_release_mode; // 0:none, 1:release on free, 2:release on hide
    Eina_Bool deiconify_approve; // 0:none, 1:wait render commit when deiconify
    Eina_Bool use_pp_zoom; // 0: pp zoom disable, 1: pp zoom enable
+   Eina_Bool priority_control; // 0: no priority change, 1: priority raise on focus
 };
 
 struct _E_Config_Desklock_Background