]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.h
Better placement of the client window. Might need some tweaking.
[chaz/openbox] / openbox / menu.h
index 72a7ed2404c536f64468393e2b75fb1a312b8c73..d441ec8452cb586e41e575635b641c6f2831402d 100644 (file)
@@ -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
This page took 0.022603 seconds and 4 git commands to generate.