]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.c
make client-list-menu work too
[chaz/openbox] / openbox / action.c
index 0025187b8d989b1bda52de4f5f43393c15435e90..2f7c5c7d54f01702bf229d579b2d346f9b0c4791 100644 (file)
@@ -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);
This page took 0.020123 seconds and 4 git commands to generate.