Index: src/config.c =================================================================== --- src/config.c (revision 646) +++ src/config.c (working copy) @@ -583,6 +583,31 @@ char *app = strdup(value); panel_config.launcher.list_apps = g_slist_append(panel_config.launcher.list_apps, app); } + else if (strcmp(key, "launcher_apps_dir") == 0) { + GError *err = NULL; + GDir *dir = g_dir_open(value, 0, &err); + + if (!dir) { + fprintf(stderr, "%s\n", err->message); + g_error_free(err); + } else { + const char *n; + // Enumerate files + while ((n = g_dir_read_name(dir))) { + // Append only .desktop files + if (strstr(n, ".desktop")) { + GString *lname = g_string_new(NULL); + + g_string_printf(lname, "%s/%s", value, n); + fprintf(stderr, "Add launcher app: %s\n", lname->str); + + panel_config.launcher.list_apps = g_slist_append(panel_config.launcher.list_apps, (char *)strdup(lname->str)); + g_string_free(lname, TRUE); + } + } + g_dir_close(dir); + } + } else if (strcmp(key, "launcher_icon_theme") == 0) { // if XSETTINGS manager running, tint2 use it. if (!icon_theme_name)