From 6a4ab63b8746d6516b5830faf46dba7a58393680 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Mon, 4 Jan 2021 12:27:55 +0900 Subject: [PATCH] e_config/visibility: add a configuration - deiconify_pending_timeout Change-Id: I3a687a82d8629453ab05b0148a5e574ac414e242 --- src/bin/e_config.c | 2 ++ src/bin/e_config.h | 1 + src/bin/e_policy_visibility.c | 10 +++++----- src/bin/e_policy_visibility_internal.h | 1 - 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/bin/e_config.c b/src/bin/e_config.c index aa2ff91..61f51c8 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -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); diff --git a/src/bin/e_config.h b/src/bin/e_config.h index b4d88cd..9851952 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -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 diff --git a/src/bin/e_policy_visibility.c b/src/bin/e_policy_visibility.c index ab3a885..6f47351 100644 --- a/src/bin/e_policy_visibility.c +++ b/src/bin/e_policy_visibility.c @@ -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 diff --git a/src/bin/e_policy_visibility_internal.h b/src/bin/e_policy_visibility_internal.h index 17a3562..ae491a8 100644 --- a/src/bin/e_policy_visibility_internal.h +++ b/src/bin/e_policy_visibility_internal.h @@ -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 : "" -- 2.7.4