Resolve gravity coords in menuframe so it can use the widths
[dana/openbox.git] / openbox / menuframe.h
index aa32b21..64dcd59 100644 (file)
@@ -23,6 +23,7 @@
 #include "geom.h"
 #include "window.h"
 #include "obrender/render.h"
+#include "obt/keyboard.h"
 
 #include <glib.h>
 
@@ -81,6 +82,10 @@ struct _ObMenuFrame
                            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 */
+    guint press_keycode; /* the KeyCode that was used in the last KeyPress */
+    gboolean press_doexec; /* if the upcoming KeyRelease should be used to
+                              execute the menu item that was selected by the
+                              KeyPress */
 };
 
 struct _ObMenuEntryFrame
@@ -109,12 +114,14 @@ ObMenuFrame* menu_frame_new(struct _ObMenu *menu,
                             struct _ObClient *client);
 void menu_frame_free(ObMenuFrame *self);
 
+ObtIC* menu_frame_ic(ObMenuFrame *self);
+
 void menu_frame_move(ObMenuFrame *self, gint x, gint y);
 void menu_frame_move_on_screen(ObMenuFrame *self, gint x, gint y,
                                gint *dx, gint *dy);
 
-gboolean menu_frame_show_topmenu(ObMenuFrame *self, gint x, gint y,
-                                 gint button);
+gboolean menu_frame_show_topmenu(ObMenuFrame *self, GravityPoint pos,
+                                 gint monitor, gboolean mouse);
 gboolean menu_frame_show_submenu(ObMenuFrame *self, ObMenuFrame *parent,
                                  ObMenuEntryFrame *parent_entry);