X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.c;h=2f7c5c7d54f01702bf229d579b2d346f9b0c4791;hb=f7eb47dba4b091b67a28404ce461b15dffcb4298;hp=0025187b8d989b1bda52de4f5f43393c15435e90;hpb=ffba11aeb059bef0b4876eb6aad2a8a24e2db6f1;p=chaz%2Fopenbox diff --git a/openbox/action.c b/openbox/action.c index 0025187b..2f7c5c7d 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -693,7 +693,7 @@ ObAction *action_from_string(char *name) return a; } -ObAction *action_parse(xmlDocPtr doc, xmlNodePtr node) +ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) { char *actname; ObAction *act = NULL; @@ -705,8 +705,13 @@ ObAction *action_parse(xmlDocPtr doc, xmlNodePtr node) if ((n = parse_find_node("execute", node->xmlChildrenNode))) act->data.execute.path = parse_string(doc, n); } else if (act->func == action_showmenu) { - if ((n = parse_find_node("menu", node->xmlChildrenNode))) + if ((n = parse_find_node("menu", node->xmlChildrenNode))) { + gchar *plugin; + act->data.showmenu.name = parse_string(doc, n); + if (parse_attr_string("plugin", n, &plugin)) + menu_open_plugin(i, act->data.showmenu.name, plugin); + } } else if (act->func == action_desktop) { if ((n = parse_find_node("desktop", node->xmlChildrenNode))) act->data.desktop.desk = parse_int(doc, n);