X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.h;h=f0fc42baa49d6a18b1e6e61e8b10eaa7e1661ec6;hb=38268dc917ac9e59d9e8ef87825c9489ced77e95;hp=7987f96e88feb98528deb21ee6f554219b124ebd;hpb=f0fdba8ad36010280fc84c2425010c195b76562a;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index 7987f96e..f0fc42ba 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -43,7 +43,7 @@ typedef gboolean (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame, gpointer data); typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry, struct _ObMenuFrame *frame, - ObClient *client, + 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 @@ -52,7 +52,7 @@ typedef void (*ObMenuDestroyFunc)(struct _ObMenu *menu, gpointer data); for the menu */ typedef void (*ObMenuPlaceFunc)(struct _ObMenuFrame *frame, gint *x, gint *y, - gint button, gpointer data); + gboolean mouse, gpointer data); struct _ObMenu { @@ -116,6 +116,7 @@ struct _ObNormalMenuEntry { /* Icon shit */ gint icon_width; gint icon_height; + gint icon_alpha; RrPixel32 *icon_data; /* Mask icon */ @@ -124,6 +125,8 @@ struct _ObNormalMenuEntry { RrColor *mask_selected_color; RrColor *mask_disabled_color; RrColor *mask_disabled_selected_color; + + gpointer data; }; struct _ObSubmenuMenuEntry { @@ -164,13 +167,16 @@ ObMenu* menu_new(const gchar *name, const gchar *title, gboolean allow_shortcut_selection, gpointer data); void menu_free(ObMenu *menu); -/* Repopulate a pipe-menu by running its command */ +/*! Repopulate a pipe-menu by running its command */ void menu_pipe_execute(ObMenu *self); +/*! Clear a pipe-menu's entries */ +void menu_clear_pipe_caches(); void menu_show_all_shortcuts(ObMenu *self, gboolean show); -void menu_show(gchar *name, gint x, gint y, gint button, +void menu_show(gchar *name, gint x, gint y, gboolean mouse, struct _ObClient *client); +gboolean menu_hide_delay_reached(); void menu_set_show_func(ObMenu *menu, ObMenuShowFunc func); void menu_set_hide_func(ObMenu *menu, ObMenuHideFunc func);