e_config/visibility: add a configuration - deiconify_pending_timeout 03/250703/1 accepted/tizen/unified/20210104.130218 submit/tizen/20210104.034514
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 4 Jan 2021 03:27:55 +0000 (12:27 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 4 Jan 2021 03:27:55 +0000 (12:27 +0900)
Change-Id: I3a687a82d8629453ab05b0148a5e574ac414e242

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

index aa2ff91..61f51c8 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);
@@ -542,6 +543,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 b4d88cd..9851952 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 ab3a885..6f47351 100644 (file)
@@ -626,7 +626,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);
 
    return EINA_TRUE;
@@ -829,7 +829,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;
 }
@@ -981,7 +981,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;
@@ -1129,7 +1129,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();
@@ -2609,7 +2609,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 17a3562..ae491a8 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 : ""