X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.h;h=990e946c5ecc8962972eab50fe6c15f24271f72b;hb=7cf4c970ae89f06aa77345900f96a310400c8595;hp=f66e423e9ce0ac3a3360f59fffb1baf1f45a6e1a;hpb=3905872982478e4e0ae05f4ce114a8025a2389ee;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index f66e423e..990e946c 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -37,9 +37,13 @@ typedef struct _ObNormalMenuEntry ObNormalMenuEntry; typedef struct _ObSubmenuMenuEntry ObSubmenuMenuEntry; typedef struct _ObSeparatorMenuEntry ObSeparatorMenuEntry; +typedef void (*ObMenuShowFunc)(struct _ObMenuFrame *frame, gpointer data); +typedef void (*ObMenuHideFunc)(struct _ObMenuFrame *frame, gpointer data); typedef gboolean (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame, gpointer data); typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry, + struct _ObMenuFrame *frame, + struct _ObClient *client, guint state, gpointer data, Time time); typedef void (*ObMenuDestroyFunc)(struct _ObMenu *menu, gpointer data); /*! @param x is the mouse x coordinate. on return it should be the x coordinate @@ -75,6 +79,8 @@ struct _ObMenu /* plugin data */ gpointer data; + ObMenuShowFunc show_func; + ObMenuHideFunc hide_func; ObMenuUpdateFunc update_func; ObMenuExecuteFunc execute_func; ObMenuDestroyFunc destroy_func; @@ -166,6 +172,8 @@ void menu_show_all_shortcuts(ObMenu *self, gboolean show); void menu_show(gchar *name, gint x, gint y, gint button, struct _ObClient *client); +void menu_set_show_func(ObMenu *menu, ObMenuShowFunc func); +void menu_set_hide_func(ObMenu *menu, ObMenuHideFunc func); void menu_set_update_func(ObMenu *menu, ObMenuUpdateFunc func); void menu_set_execute_func(ObMenu *menu, ObMenuExecuteFunc func); void menu_set_destroy_func(ObMenu *menu, ObMenuDestroyFunc func);