]> Dogcows Code - chaz/openbox/commitdiff
Allow loading of menu files outside of your XDG_CONFIG_HOME (Fix bug 5711)
authorDana Jansens <danakj@orodu.net>
Mon, 1 Oct 2012 01:23:58 +0000 (21:23 -0400)
committerDana Jansens <danakj@orodu.net>
Sun, 7 Oct 2012 01:56:56 +0000 (21:56 -0400)
When the given file name can not be found in your XDG_CONFIG_HOME, ie in
 ~/.config/openbox, then try the file name directly.

This means if you specify a menu file such as "/home/dana/helloworld.xml",
openbox will try, in order:
1) ~/.config/openbox/home/dana/helloworld.xml
2) /home/dana/helloworld.xml

And it will load the file you meant when it tries the second one.

openbox/menu.c

index eaf081d944a3c1e4e0e2c54f63038b1b8a33a010..7c49cedbe3d411b22b7fbb0647d7bb37aeeb332d 100644 (file)
@@ -90,7 +90,16 @@ void menu_startup(gboolean reconfig)
             loaded = TRUE;
             obt_xml_tree_from_root(menu_parse_inst);
             obt_xml_close(menu_parse_inst);
-        } else
+        }
+        else if (obt_xml_load_file(menu_parse_inst,
+                                   it->data,
+                                   "openbox_menu"))
+        {
+            loaded = TRUE;
+            obt_xml_tree_from_root(menu_parse_inst);
+            obt_xml_close(menu_parse_inst);
+        }
+        else
             g_message(_("Unable to find a valid menu file \"%s\""),
                       (const gchar*)it->data);
     }
This page took 0.02541 seconds and 4 git commands to generate.