summaryrefslogtreecommitdiff
path: root/openbox/action.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-08-28 07:34:03 +0000
committerDana Jansens <danakj@orodu.net>2003-08-28 07:34:03 +0000
commitf7eb47dba4b091b67a28404ce461b15dffcb4298 (patch)
treeb96cc34aa1565722889472d3b5e77bc7ae02af7a /openbox/action.c
parentffba11aeb059bef0b4876eb6aad2a8a24e2db6f1 (diff)
make client-list-menu work too
more menu cleanups
Diffstat (limited to 'openbox/action.c')
-rw-r--r--openbox/action.c9
1 files changed, 7 insertions, 2 deletions
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);