diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-03-23 20:22:11 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-03-25 18:11:13 -0400 |
| commit | 4cff6c0e3beb3395bcf694d552b9fc07c5061c7b (patch) | |
| tree | c1402b247da1fc93d08cf7ea355b897df8299cb0 | |
| parent | 0b9910b44263fc36590f562768e42c6e5683a46c (diff) | |
add function to give the list of autostart directories
| -rw-r--r-- | obt/paths.c | 15 | ||||
| -rw-r--r-- | obt/paths.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/obt/paths.c b/obt/paths.c index da6f288b..d99659b8 100644 --- a/obt/paths.c +++ b/obt/paths.c @@ -37,6 +37,7 @@ struct _ObtPaths gchar *cache_home; GSList *config_dirs; GSList *data_dirs; + GSList *autostart_dirs; }; static gint slist_path_cmp(const gchar *a, const gchar *b) @@ -79,6 +80,7 @@ ObtPaths* obt_paths_new(void) { ObtPaths *p; const gchar *path; + GSList *it; p = g_slice_new0(ObtPaths); p->ref = 1; @@ -119,6 +121,11 @@ ObtPaths* obt_paths_new(void) g_strdup(p->config_home), (GSListFunc) g_slist_prepend); + for (it = p->config_dirs; it; it = g_slist_next(it)) { + gchar *const s = g_strdup_printf("%s/autostart", (gchar*)it->data); + p->autostart_dirs = g_slist_append(p->autostart_dirs, s); + } + path = g_getenv("XDG_DATA_DIRS"); if (path && path[0] != '\0') /* not unset or empty */ p->data_dirs = split_paths(path); @@ -159,6 +166,9 @@ void obt_paths_unref(ObtPaths *p) for (it = p->data_dirs; it; it = g_slist_next(it)) g_free(it->data); g_slist_free(p->data_dirs); + for (it = p->autostart_dirs; it; it = g_slist_next(it)) + g_free(it->data); + g_slist_free(p->autostart_dirs); g_free(p->config_home); g_free(p->data_home); g_free(p->cache_home); @@ -247,3 +257,8 @@ GSList* obt_paths_data_dirs(ObtPaths *p) { return p->data_dirs; } + +GSList* obt_paths_autostart_dirs(ObtPaths *p) +{ + return p->autostart_dirs; +} diff --git a/obt/paths.h b/obt/paths.h index 8753d4f6..6d6df5e7 100644 --- a/obt/paths.h +++ b/obt/paths.h @@ -34,6 +34,7 @@ const gchar* obt_paths_data_home(ObtPaths *p); const gchar* obt_paths_cache_home(ObtPaths *p); GSList* obt_paths_config_dirs(ObtPaths *p); GSList* obt_paths_data_dirs(ObtPaths *p); +GSList* obt_paths_autostart_dirs(ObtPaths *p); gchar *obt_paths_expand_tilde(const gchar *f); gboolean obt_paths_mkdir(const gchar *path, gint mode); |
