X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.h;h=7d719729bbbc88e0c1631317160b766c1d53a3d8;hb=HEAD;hp=c0cc199d4e18b3cd91d9008fb5473110433a4489;hpb=3fd74abb3c2969f170d727154245cde3ef8a4b87;p=chaz%2Fopenbox diff --git a/openbox/menu.h b/openbox/menu.h index c0cc199d..7d719729 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -59,6 +59,7 @@ struct _ObMenu gchar *name; /* Displayed title */ gchar *title; + gchar *collate_key; /*! The shortcut key that would be used to activate this menu if it was displayed as a submenu */ gunichar shortcut; @@ -103,7 +104,12 @@ typedef enum } ObMenuEntryType; struct _ObNormalMenuEntry { + /* Icon stuff. If you set this, make sure you RrImageRef() it too. */ + RrImage *icon; + gint icon_alpha; + gchar *label; + gchar *collate_key; /*! The shortcut key that would be used to activate this menu entry */ gunichar shortcut; /*! The shortcut's position in the string */ @@ -117,10 +123,6 @@ struct _ObNormalMenuEntry { /* List of ObActions */ GSList *actions; - /* Icon stuff. If you set this, make sure you RrImageRef() it too. */ - RrImage *icon; - gint icon_alpha; - /* Mask icon */ RrPixmapMask *mask; RrColor *mask_normal_color; @@ -132,8 +134,13 @@ struct _ObNormalMenuEntry { }; struct _ObSubmenuMenuEntry { + /* Icon stuff. If you set this, make sure you RrImageRef() it too. */ + RrImage *icon; + gint icon_alpha; + gchar *name; ObMenu *submenu; + guint show_from; }; @@ -206,7 +213,10 @@ ObMenuEntry* menu_add_normal(ObMenu *menu, gint id, const gchar *label, ObMenuEntry* menu_add_submenu(ObMenu *menu, gint id, const gchar *submenu); ObMenuEntry* menu_add_separator(ObMenu *menu, gint id, const gchar *label); -void menu_clear_entries(ObMenu *menu); +/*! This sorts groups of menu entries between consecutive separators */ +void menu_sort_entries(ObMenu *self); + +void menu_clear_entries(ObMenu *self); void menu_entry_remove(ObMenuEntry *self); void menu_entry_set_label(ObMenuEntry *self, const gchar *label,