e_config/visibility: add a configuration - deiconify_pending_timeout 04/250704/1 accepted/tizen/6.0/unified/20210104.071422 submit/tizen_6.0/20210104.034453
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 4 Jan 2021 03:34:29 +0000 (12:34 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 4 Jan 2021 03:34:29 +0000 (12:34 +0900)
Change-Id: I4d7a16181c781f5ca1324595658746197e9c8eab

src/bin/e_config.c
src/bin/e_config.h
src/bin/e_policy_visibility.c
src/bin/e_policy_visibility_internal.h

index 6951f10dcba297d3e296d6d15ef163f4b8880aa0..de0b34ecb90915b2c96d70974b5d31eae85ee1f0 100644 (file)
@@ -292,6 +292,7 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, log_type, INT);
    E_CONFIG_VAL(D, T, rsm_buffer_release_mode, INT);
    E_CONFIG_VAL(D, T, deiconify_approve, UCHAR);
+   E_CONFIG_VAL(D, T, deiconify_pending_timeout, DOUBLE);
    E_CONFIG_VAL(D, T, use_pp_zoom, UCHAR);
    E_CONFIG_VAL(D, T, priority_control, UCHAR);
    E_CONFIG_VAL(D, T, comp_canvas_norender.use, UCHAR);
@@ -543,6 +544,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->log_type, 0, 255);
    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->deiconify_pending_timeout, 2.0, 10.0);
    E_CONFIG_LIMIT(e_config->use_pp_zoom, 0, 1);
    E_CONFIG_LIMIT(e_config->priority_control, 0, 1);
    E_CONFIG_LIMIT(e_config->comp_canvas_norender.use, 0, 1);
index a9bac1838e4bd3611515ca9b7662269d77e05c6b..ea297f98cdbb10d1f25e94afa73c6ff28cefe48e 100644 (file)
@@ -202,6 +202,7 @@ struct _E_Config
    int log_type; // where to print dlog (0: default log, 1: system log)
    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
+   double deiconify_pending_timeout;
    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
 
index 88a8e58b3a2ff2a27138471ac1cd246c1c553a11..75409ef123aa250ec92e0246219468ccedbe56a0 100644 (file)
@@ -639,7 +639,7 @@ _e_vis_job_add(E_Vis_Client *vc, E_Vis_Job_Type type, Ecore_Task_Cb timeout_func
      }
    job->vc = vc;
    job->type = type;
-   job->timer = ecore_timer_add(E_VIS_TIMEOUT, timeout_func, job);
+   job->timer = ecore_timer_add(e_config->deiconify_pending_timeout, timeout_func, job);
    VS_INF(vc->ec, "NEW JOB:%p, type:%d", job, type);
 
    if ((job->type == E_VIS_JOB_TYPE_LOWER) ||
@@ -869,7 +869,7 @@ _e_vis_grab_new(E_Vis_Client *vc, E_Vis_Job_Type type, const char *name, Ecore_T
    grab->vc = vc;
    grab->type = type;
    grab->name = eina_stringshare_add(name);
-   grab->timer = ecore_timer_add(E_VIS_TIMEOUT, timeout_func, grab);
+   grab->timer = ecore_timer_add(e_config->deiconify_pending_timeout, timeout_func, grab);
 
    return grab;
 }
@@ -1021,7 +1021,7 @@ static Eina_Bool
 _e_vis_client_grab_cb_timeout(void *data)
 {
    E_Vis_Grab *grab = data;
-   VS_INF(grab->vc->ec, "TIMEOUT(%f) Grab %s", E_VIS_TIMEOUT, grab->name);
+   VS_INF(grab->vc->ec, "TIMEOUT(%f) Grab %s", e_config->deiconify_pending_timeout, grab->name);
    grab->deleted = 1;
    _e_vis_client_grab_remove(grab->vc, grab);
    return ECORE_CALLBACK_DONE;
@@ -1169,7 +1169,7 @@ _e_vis_client_job_timeout(void *data)
 {
    E_Vis_Job *job = data;
 
-   VS_INF(job->vc->ec, "TIMEOUT(%f) JOB %d", E_VIS_TIMEOUT, job->type);
+   VS_INF(job->vc->ec, "TIMEOUT(%f) JOB %d", e_config->deiconify_pending_timeout, job->type);
    /* FIXME delete all grab and evaluate it instead of exec */
    _e_vis_job_exec(&job->entry);
    _e_vis_job_eval();
@@ -2661,7 +2661,7 @@ e_policy_visibility_hook_del(E_Pol_Vis_Hook *h)
 EINTERN double
 e_policy_visibility_timeout_get(void)
 {
-   return (double)E_VIS_TIMEOUT;
+   return e_config->deiconify_pending_timeout;
 }
 
 E_API Eina_Bool
index 17a3562574d878ac91142e161185720b8e651c09..ae491a802d1c17e7a99f60be75ac6d668fea6647 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _E_POLICY_VISIBILITY_INTERNAL_H_
 #define _E_POLICY_VISIBILITY_INTERNAL_H_
 
-#define E_VIS_TIMEOUT   2.0
 #define E_CLEAR_GRAB_TIMEOUT   0.01
 
 #define NAME(ec)        ec->icccm.name ? ec->icccm.name : ""