X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.h;h=1adac022e10e12d2e97992cd6eafc8a81fe2ebd1;hb=1045079482453424f8320de99639390e3020eb72;hp=1d20ff03360b519870c7afd1e28cab8826f44608;hpb=3c92311b3c88e7da28aabe59d26c10a18c096399;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index 1d20ff03..1adac022 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -9,6 +9,7 @@ #include struct _ObClient; +struct _ObParseInst; typedef struct _ObMenu ObMenu; typedef struct _ObMenuEntry ObMenuEntry; @@ -103,7 +104,7 @@ struct _ObMenuEntry char *label; ObMenu *parent; - Action *action; + ObAction *action; ObMenuEntryRenderType render_type; gboolean hilite; @@ -114,14 +115,18 @@ struct _ObMenuEntry /* render stuff */ Window item; + Window submenu_pic; + RrAppearance *a_item; RrAppearance *a_disabled; RrAppearance *a_hilite; + RrAppearance *a_submenu; gint y; gint min_w; } MenuEntry; typedef struct PluginMenuCreateData{ + struct _ObParseInst *parse_inst; xmlDocPtr doc; xmlNodePtr node; ObMenu *parent; @@ -131,6 +136,8 @@ typedef struct PluginMenuCreateData{ void menu_startup(); void menu_shutdown(); +void menu_parse(); + void menu_noop(); #define menu_new(l, n, p) \ @@ -152,7 +159,7 @@ void menu_hide(ObMenu *self); void menu_clear(ObMenu *self); -ObMenuEntry *menu_entry_new_full(char *label, Action *action, +ObMenuEntry *menu_entry_new_full(char *label, ObAction *action, ObMenuEntryRenderType render_type, gpointer submenu); @@ -187,7 +194,8 @@ void menu_render(ObMenu *self); void menu_render_full(ObMenu *self); /*so plugins can call it? */ -void parse_menu_full(xmlDocPtr doc, xmlNodePtr node, void *data, gboolean new); +void parse_menu_full(struct _ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, + void *data, gboolean new); void menu_control_mouseover(ObMenuEntry *entry, gboolean enter); void menu_control_keyboard_nav(unsigned int key); #endif