e env - set E_HOME_DIR to e's config dir (~/.e/e/ normally)

This commit is contained in:
Carsten Haitzler 2020-01-04 15:02:24 +00:00
parent aaea7865ef
commit 6fddd05d95
1 changed files with 20 additions and 22 deletions

View File

@ -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;
}
/**