e-xdg: augment XDG_CONFIG_DIRS as well

This commit is contained in:
Sebastian Dransfeld 2014-06-11 11:18:54 +02:00
parent edf3f90ca3
commit 2247fab472
1 changed files with 18 additions and 1 deletions

View File

@ -119,12 +119,13 @@ EINTERN double e_first_frame_start_time = -1;
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)
{
@ -140,6 +141,22 @@ _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);
}
if (!getenv("XDG_RUNTIME_DIR"))
{
const char *dir;