-void menu_noop();
-
-#define menu_new(l, n, p) \
- menu_new_full(l, n, p, menu_show_full, menu_render, menu_entry_fire, \
- menu_hide, menu_control_mouseover)
-
-ObMenu *menu_new_full(char *label, char *name, ObMenu *parent,
- menu_controller_show show, menu_controller_update update,
- menu_controller_selected selected,
- menu_controller_hide hide,
- menu_controller_mouseover mouseover);
-
-void menu_free(char *name);
-
-void menu_show(char *name, int x, int y, struct _ObClient *client);
-void menu_show_full(ObMenu *menu, int x, int y, struct _ObClient *client);
-
-void menu_hide(ObMenu *self);
-
-void menu_clear(ObMenu *self);
-
-ObMenuEntry *menu_entry_new_full(char *label, Action *action,
- ObMenuEntryRenderType render_type,
- gpointer submenu);
-
-#define menu_entry_new(label, action) \
-menu_entry_new_full(label, action, OB_MENU_ENTRY_RENDER_TYPE_NONE, NULL)
-
-#define menu_entry_new_separator(label) \
-menu_entry_new_full(label, NULL, OB_MENU_ENTRY_RENDER_TYPE_SEPARATOR, NULL)
-
-#define menu_entry_new_submenu(label, submenu) \
-menu_entry_new_full(label, NULL, OB_MENU_ENTRY_RENDER_TYPE_SUBMENU, submenu)
-
-#define menu_entry_new_boolean(label, action) \
-menu_entry_new_full(label, action, OB_MENU_ENTRY_RENDER_TYPE_BOOLEAN, NULL)