]> Dogcows Code - chaz/openbox/blobdiff - openbox/menuframe.h
Merge branch 'backport' into work
[chaz/openbox] / openbox / menuframe.h
index 4f896ec88fbf965cf057ab35400f5479c9473a50..daac34d2d2803860be63baa8094a23eba106b8f0 100644 (file)
@@ -38,7 +38,7 @@ extern GList *menu_frame_visible;
 struct _ObMenuFrame
 {
     /* stuff to be an ObWindow */
-    Window_InternalType type;
+    ObWindow obwin;
     Window window;
 
     struct _ObMenu *menu;
@@ -71,15 +71,19 @@ struct _ObMenuFrame
 
     gint monitor; /* monitor on which to show the menu in xinerama */
 
-    RrAppearance *a_title;
+    /* We make a copy of this for each menu, so that we don't have to re-render
+       the background of the entire menu each time we render an item inside it.
+    */
     RrAppearance *a_items;
+
+    gboolean got_press; /* don't allow a KeyRelease event to run things in the
+                           menu until it has seen a KeyPress.  this is to
+                           avoid having the keybinding used to show the menu
+                           end up running something inside the menu */
 };
 
 struct _ObMenuEntryFrame
 {
-    /* if this is true then it doesn't have an entry to point to */
-    gboolean more;
-
     struct _ObMenuEntry *entry;
     ObMenuFrame *frame;
 
@@ -92,22 +96,6 @@ struct _ObMenuEntryFrame
     Window icon;
     Window text;
     Window bullet;
-
-    RrAppearance *a_normal;
-    RrAppearance *a_selected;
-    RrAppearance *a_disabled;
-    RrAppearance *a_disabled_selected;
-
-    RrAppearance *a_icon;
-    RrAppearance *a_mask;
-    RrAppearance *a_bullet_normal;
-    RrAppearance *a_bullet_selected;
-    RrAppearance *a_separator;
-    RrAppearance *a_text_normal;
-    RrAppearance *a_text_selected;
-    RrAppearance *a_text_disabled;
-    RrAppearance *a_text_disabled_selected;
-    RrAppearance *a_text_title;
 };
 
 extern GHashTable *menu_frame_map;
@@ -128,7 +116,6 @@ gboolean menu_frame_show_topmenu(ObMenuFrame *self, gint x, gint y,
                                  gint button);
 gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent,
                                  ObMenuEntryFrame *parent_entry);
-void menu_frame_hide(ObMenuFrame *self);
 
 void menu_frame_hide_all();
 void menu_frame_hide_all_client(struct _ObClient *client);
@@ -145,6 +132,6 @@ ObMenuEntryFrame* menu_entry_frame_under(gint x, gint y);
 
 void menu_entry_frame_show_submenu(ObMenuEntryFrame *self);
 
-void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state, Time time);
+void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state);
 
 #endif
This page took 0.021486 seconds and 4 git commands to generate.