summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_config.c
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2018-11-29 14:09:09 -0500
committerChristopher Michael <cp.michael@samsung.com>2018-11-29 14:35:26 -0500
commiteec7bc458eee333fd7237a3bd43e8c2c884f21ca (patch)
treeb66c1cdebad25fcef8d888e8860030adaeb90c7c /src/lib/elementary/elm_config.c
parentbe7d76ece63844f1967ee12d042c920a8540ab4a (diff)
elementary: Support using no frame object
Summary: Creation of the frame object can lead to significant delays in window creation time on limited-power devices (watches, mobile, tv, etc). This patch allows setting an environment variable and config value in order to completely skip frame object creation. This shaves about 50ms from startup on an i7 8600k, so should be more substantial a saves on limited-power devices. Reviewers: kimcinoo, ManMower Reviewed By: ManMower Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7305
Diffstat (limited to 'src/lib/elementary/elm_config.c')
-rw-r--r--src/lib/elementary/elm_config.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 13e80fd5da..6102ec6dcb 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -535,6 +535,7 @@ _desc_init(void)
535 ELM_CONFIG_VAL(D, T, offline, T_UCHAR); 535 ELM_CONFIG_VAL(D, T, offline, T_UCHAR);
536 ELM_CONFIG_VAL(D, T, powersave, T_INT); 536 ELM_CONFIG_VAL(D, T, powersave, T_INT);
537 ELM_CONFIG_VAL(D, T, drag_anim_duration, T_DOUBLE); 537 ELM_CONFIG_VAL(D, T, drag_anim_duration, T_DOUBLE);
538 ELM_CONFIG_VAL(D, T, win_no_border, T_UCHAR);
538#undef T 539#undef T
539#undef D 540#undef D
540#undef T_INT 541#undef T_INT
@@ -1868,6 +1869,7 @@ _config_load(Eina_Bool on_flush)
1868 _elm_config->popup_scrollable = EINA_FALSE; 1869 _elm_config->popup_scrollable = EINA_FALSE;
1869 _elm_config->entry_select_allow = EINA_TRUE; 1870 _elm_config->entry_select_allow = EINA_TRUE;
1870 _elm_config->drag_anim_duration = 0.0; 1871 _elm_config->drag_anim_duration = 0.0;
1872 _elm_config->win_no_border = EINA_FALSE;
1871 _env_get(); 1873 _env_get();
1872} 1874}
1873 1875
@@ -2077,6 +2079,8 @@ _elm_config_reload_do(Eina_Bool on_flush)
2077 KEEP_VAL(entry_select_allow); 2079 KEEP_VAL(entry_select_allow);
2078 KEEP_VAL(drag_anim_duration); 2080 KEEP_VAL(drag_anim_duration);
2079 2081
2082 KEEP_VAL(win_no_border);
2083
2080 _elm_config->priv = prev_config->priv; 2084 _elm_config->priv = prev_config->priv;
2081 _config_free(prev_config); 2085 _config_free(prev_config);
2082 } 2086 }
@@ -2516,6 +2520,10 @@ _config_update(void)
2516 _elm_key_bindings_update(_elm_config, tcfg); 2520 _elm_key_bindings_update(_elm_config, tcfg);
2517 IFCFGEND 2521 IFCFGEND
2518 2522
2523 IFCFG(0x0010)
2524 _elm_config->win_no_border = EINA_FALSE;
2525 IFCFGEND
2526
2519 /** 2527 /**
2520 * Fix user config for current ELM_CONFIG_EPOCH here. 2528 * Fix user config for current ELM_CONFIG_EPOCH here.
2521 **/ 2529 **/
@@ -2892,6 +2900,9 @@ _env_get(void)
2892 2900
2893 s = getenv("EFL_UI_DND_DRAG_ANIM_DURATION"); 2901 s = getenv("EFL_UI_DND_DRAG_ANIM_DURATION");
2894 if (s) _elm_config->drag_anim_duration = _elm_atof(s); 2902 if (s) _elm_config->drag_anim_duration = _elm_atof(s);
2903
2904 s = getenv("ELM_WIN_NO_BORDER");
2905 if (s) _elm_config->win_no_border = EINA_TRUE;
2895} 2906}
2896 2907
2897static void 2908static void