e-xdg: augment XDG_CONFIG_DIRS as well

Conflicts:
	src/bin/e_main.c

Backported by Thanatermesis to E17
This commit is contained in:
Sebastian Dransfeld 2014-06-11 11:18:54 +02:00 committed by Thanatermesis
parent 72023b2535
commit 58c0cfb666
1 changed files with 20 additions and 2 deletions

View File

@ -132,12 +132,13 @@ EAPI Eina_Bool e_nopause = EINA_FALSE;
static void
_xdg_data_dirs_augment(void)
{
const char *s = getenv("XDG_DATA_DIRS");
const char *s;
const char *p = e_prefix_get();
char newpath[4096], buf[4096];
if (!p) return;
s = getenv("XDG_DATA_DIRS");
snprintf(newpath, sizeof(newpath), "%s:%s/share", e_prefix_data_get(), p);
if (s)
{
@ -153,6 +154,23 @@ _xdg_data_dirs_augment(void)
e_util_env_set("XDG_DATA_DIRS", buf);
}
s = getenv("XDG_CONFIG_DIRS");
snprintf(newpath, sizeof(newpath), "%s/etc/xdg", p);
if (s)
{
if (strncmp(s, newpath, strlen(newpath)))
{
snprintf(buf, sizeof(buf), "%s:%s", newpath, s);
e_util_env_set("XDG_CONFIG_DIRS", buf);
}
}
else
{
snprintf(buf, sizeof(buf), "%s:/etc/xdg", newpath);
e_util_env_set("XDG_CONFIG_DIRS", buf);
}
/* set menu prefix so we get our e menu */
if (!getenv("XDG_MENU_PREFIX"))
{