]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.h
update to the new strings. and add menu shortcuts for the client menu to them all
[chaz/openbox] / openbox / menu.h
index f9daef1044bedca59ad93c03229dc13cc418d40b..bdc05266b95b32f4111ac2bc2354b016153d7c6e 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    menu.h for the Openbox window manager
-   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2003-2007   Dana Jansens
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -48,6 +48,15 @@ struct _ObMenu
     gchar *name;
     /* Displayed title */
     gchar *title;
+    /*! The shortcut key that would be used to activate this menu if it was
+      displayed as a submenu */
+    gunichar shortcut;
+    /*! The shortcut's position in the string */
+    guint shortcut_position;
+
+    /*! If the shortcut key should be shown in menu entries even when it
+      is the first character in the string */
+    gboolean show_all_shortcuts;
 
     /* Command to execute to rebuild the menu */
     gchar *execute;
@@ -75,6 +84,10 @@ typedef enum
 
 struct _ObNormalMenuEntry {
     gchar *label;
+    /*! The shortcut key that would be used to activate this menu entry */
+    gunichar shortcut;
+    /*! The shortcut's position in the string */
+    guint shortcut_position;
 
     /* state */
     gboolean enabled;
@@ -100,7 +113,7 @@ struct _ObSubmenuMenuEntry {
 };
 
 struct _ObSeparatorMenuEntry {
-    gchar foo; /* placeholder */
+    gchar *label;
 };
 
 struct _ObMenuEntry
@@ -126,6 +139,8 @@ void menu_free(ObMenu *menu);
 /* Repopulate a pipe-menu by running its command */
 void menu_pipe_execute(ObMenu *self);
 
+void menu_show_all_shortcuts(ObMenu *self, gboolean show);
+
 void menu_show(gchar *name, gint x, gint y, struct _ObClient *client);
 
 void menu_set_update_func(ObMenu *menu, ObMenuUpdateFunc func);
@@ -136,11 +151,13 @@ void menu_set_destroy_func(ObMenu *menu, ObMenuDestroyFunc func);
 ObMenuEntry* menu_add_normal(ObMenu *menu, gint id, const gchar *label,
                              GSList *actions);
 ObMenuEntry* menu_add_submenu(ObMenu *menu, gint id, const gchar *submenu);
-ObMenuEntry* menu_add_separator(ObMenu *menu, gint id);
+ObMenuEntry* menu_add_separator(ObMenu *menu, gint id, const gchar *label);
 
 void menu_clear_entries(ObMenu *menu);
 void menu_entry_remove(ObMenuEntry *self);
 
+void menu_entry_set_label(ObMenuEntry *self, const gchar *label);
+
 ObMenuEntry* menu_find_entry_id(ObMenu *self, gint id);
 
 /* fills in the submenus, for use when a menu is being shown */
This page took 0.025254 seconds and 4 git commands to generate.