diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 40bea9b7e..8cbd2b870 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -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;