raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6fddd05d95e2bdf33f0d864f0003d66ba7d101d7
commit 6fddd05d95e2bdf33f0d864f0003d66ba7d101d7 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sat Jan 4 15:02:24 2020 +0000 e env - set E_HOME_DIR to e's config dir (~/.e/e/ normally) --- src/bin/e_user.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/bin/e_user.c b/src/bin/e_user.c index c4270207a..703d20c02 100644 --- a/src/bin/e_user.c +++ b/src/bin/e_user.c @@ -131,6 +131,8 @@ e_user_icon_dir_get(void) static const char *_e_user_dir = NULL; static size_t _e_user_dir_len = 0; +E_API void e_util_env_set(const char *var, const char *val); + /** * Return ~/.e/e */ @@ -141,36 +143,32 @@ e_user_dir_get(void) if (!dir[0]) { - char *d; - - if ((d = getenv("E_HOME"))) - { - snprintf(dir, sizeof(dir), "%s/e", d); - _e_user_dir_len = strlen(dir); - } + char *d = getenv("E_HOME"); + + if (d) + snprintf(dir, sizeof(dir), "E_HOME_DIR=%s/e", d); else { -#ifdef DOXDG +#ifdef DOXDG if ((d = getenv("XDG_CONFIG_HOME"))) - { - snprintf(dir, sizeof(dir), "%s/e", d); - _e_user_dir_len = strlen(dir); - } + snprintf(dir, sizeof(dir), "E_HOME_DIR=%s/e", d); else -#endif +#endif { -#ifdef DOXDG - _e_user_dir_len = e_user_homedir_concat(dir, sizeof(dir), - ".config/e"); -#else - _e_user_dir_len = e_user_homedir_concat(dir, sizeof(dir), - ".e/e"); -#endif + char buf[PATH_MAX - 128]; +#ifdef DOXDG + e_user_homedir_concat(buf, sizeof(buf), ".config/e"); +#else + e_user_homedir_concat(buf, sizeof(buf), ".e/e"); +#endif + snprintf(dir, sizeof(dir), "E_HOME_DIR=%s", buf); } } - _e_user_dir = dir; + _e_user_dir = dir + strlen("E_HOME_DIR="); + _e_user_dir_len = strlen(_e_user_dir); + putenv(dir); } - return dir; + return _e_user_dir; } /** --
