summaryrefslogtreecommitdiff
path: root/openbox/menu.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-15 19:20:05 +0000
committerDana Jansens <danakj@orodu.net>2003-09-15 19:20:05 +0000
commitc1b2fc5324522f74a14a5cfa210c95e1509a6e7f (patch)
tree7024fd9c49d64e29d3f622250199c5d6a382b721 /openbox/menu.c
parent3a607fad9df628ab16e0f7436dfbfc9b22634003 (diff)
make openbox base-dir spec compliant, and change the theme dir structure, so that themes go in $XDG_DATA_DIRS/themes/ with gtk/metacity/whateverelse themes
Diffstat (limited to 'openbox/menu.c')
-rw-r--r--openbox/menu.c35
1 files changed, 3 insertions, 32 deletions
diff --git a/openbox/menu.c b/openbox/menu.c
index 231777f2..39dd60d6 100644
--- a/openbox/menu.c
+++ b/openbox/menu.c
@@ -34,35 +34,6 @@ static void parse_menu_separator(ObParseInst *i,
static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
gpointer data);
-static gboolean menu_open(gchar *file, xmlDocPtr *doc, xmlNodePtr *node)
-{
- gboolean loaded = TRUE;
- gchar *p;
-
- if (file[0] == '/') {
- if (!parse_load(file, "openbox_menu", doc, node)) {
- g_warning("Failed to load menu from '%s'", file);
- loaded = FALSE;
- }
- } else {
- p = g_build_filename(g_get_home_dir(), ".openbox", file, NULL);
- if (!parse_load(p, "openbox_menu", doc, node)) {
- g_free(p);
- p = g_build_filename(RCDIR, file, NULL);
- if (!parse_load(p, "openbox_menu", doc, node)) {
- g_free(p);
- p = g_strdup(file);
- if (!parse_load(p, "openbox_menu", doc, node)) {
- g_warning("Failed to load menu from '%s'", file);
- loaded = FALSE;
- }
- }
- }
- g_free(p);
- }
- return loaded;
-}
-
static void client_dest(gpointer client)
{
/* menus can be associated with a client, so close any that are since
@@ -94,14 +65,14 @@ void menu_startup(gboolean reconfig)
parse_menu_separator, &menu_parse_state);
for (it = config_menu_files; it; it = g_slist_next(it)) {
- if (menu_open(it->data, &doc, &node)) {
+ if (parse_load_menu(it->data, &doc, &node)) {
loaded = TRUE;
parse_tree(menu_parse_inst, doc, node->children);
xmlFreeDoc(doc);
}
}
if (!loaded) {
- if (menu_open("menu.xml", &doc, &node)) {
+ if (parse_load_menu("menu.xml", &doc, &node)) {
parse_tree(menu_parse_inst, doc, node->children);
xmlFreeDoc(doc);
}
@@ -225,7 +196,7 @@ static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
if ((menu = menu_new(name, title, NULL))) {
menu->pipe_creator = state->pipe_creator;
if (parse_attr_string("execute", node, &script)) {
- menu->execute = ob_expand_tilde(script);
+ menu->execute = parse_expand_tilde(script);
} else {
ObMenu *old;