X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.h;h=d441ec8452cb586e41e575635b641c6f2831402d;hb=d03c1afac676c612c2d70584ceb4101607ac4c7e;hp=72a7ed2404c536f64468393e2b75fb1a312b8c73;hpb=a95dc346fe7951dd48e41a41fcaafb6d872b0337;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index 72a7ed24..d441ec84 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -19,7 +19,7 @@ typedef void(*menu_controller_update)(ObMenu *self); typedef void(*menu_controller_mouseover)(ObMenuEntry *self, gboolean enter); extern GHashTable *menu_hash; -extern GSList *menu_visible; +extern GList *menu_visible; struct _ObMenu { @@ -96,7 +96,14 @@ struct _ObMenuEntry RrAppearance *a_hilite; gint y; gint min_w; -}; +} MenuEntry; + +typedef struct PluginMenuCreateData{ + xmlDocPtr doc; + xmlNodePtr node; + ObMenu *parent; +} PluginMenuCreateData; + void menu_startup(); void menu_shutdown(); @@ -138,6 +145,7 @@ void menu_entry_set_submenu(ObMenuEntry *entry, ObMenu *submenu); void menu_add_entry(ObMenu *menu, ObMenuEntry *entry); ObMenuEntry *menu_find_entry(ObMenu *menu, Window win); +ObMenuEntry *menu_find_entry_by_submenu(ObMenu *menu, ObMenu *submenu); ObMenuEntry *menu_find_entry_by_pos(ObMenu *menu, int x, int y); void menu_entry_render(ObMenuEntry *self); @@ -147,5 +155,8 @@ void menu_entry_fire(ObMenuEntry *self); 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 menu_control_mouseover(ObMenuEntry *entry, gboolean enter); +ObMenuEntry *menu_control_keyboard_nav(ObMenuEntry *over, ObKey key); #endif