X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fmenu.h;h=09938fcd107144ca6ea573b5147e6c27f1b9f266;hb=b41c3395313a97741f2f76b9133dc3b0b8eb5bbc;hp=6d4bbd472c3748e29ebc8dc2ceb63edd8c647074;hpb=319fb35962ed80298af17476c8cacfe4ce7470b5;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index 6d4bbd47..09938fcd 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -19,7 +19,6 @@ #ifndef __menu_h #define __menu_h -#include "action.h" #include "window.h" #include "geom.h" #include "render/render.h" @@ -44,7 +43,7 @@ typedef gboolean (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame, typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry, struct _ObMenuFrame *frame, struct _ObClient *client, - guint state, gpointer data, Time time); + guint state, gpointer data); typedef void (*ObMenuDestroyFunc)(struct _ObMenu *menu, gpointer data); /*! @param x is the mouse x coordinate. on return it should be the x coordinate for the menu @@ -52,7 +51,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 { @@ -65,6 +64,8 @@ struct _ObMenu gunichar shortcut; /*! The shortcut's position in the string */ guint shortcut_position; + /*! If the shortcut was specified by & and should always be drawn */ + gboolean shortcut_always_show; /*! If the shortcut key should be shown in menu entries even when it is the first character in the string */ @@ -106,6 +107,8 @@ struct _ObNormalMenuEntry { gunichar shortcut; /*! The shortcut's position in the string */ guint shortcut_position; + /*! If the shortcut was specified by & and should always be drawn */ + gboolean shortcut_always_show; /* state */ gboolean enabled; @@ -125,6 +128,8 @@ struct _ObNormalMenuEntry { RrColor *mask_selected_color; RrColor *mask_disabled_color; RrColor *mask_disabled_selected_color; + + gpointer data; }; struct _ObSubmenuMenuEntry { @@ -165,13 +170,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);