summaryrefslogtreecommitdiff
path: root/openbox/menu.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-07 23:26:22 +0000
committerDana Jansens <danakj@orodu.net>2007-05-07 23:26:22 +0000
commit280529221e9349aa07c6c498df6b80b3a8951198 (patch)
treef80ab701abbe3519b2613d735569e3dd23f93dee /openbox/menu.h
parent31d7680274cdf2fa3c45b8c8d56db2b5d8fbc111 (diff)
add a notifier for clients changing desktops. use it to update the send-to menu if it changes. it does this by closing/opening the menu.. thats about the best we can do tho with this menu code without huge changes
Diffstat (limited to 'openbox/menu.h')
-rw-r--r--openbox/menu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/openbox/menu.h b/openbox/menu.h
index f66e423e..9fc84bb8 100644
--- a/openbox/menu.h
+++ b/openbox/menu.h
@@ -37,6 +37,8 @@ typedef struct _ObNormalMenuEntry ObNormalMenuEntry;
typedef struct _ObSubmenuMenuEntry ObSubmenuMenuEntry;
typedef struct _ObSeparatorMenuEntry ObSeparatorMenuEntry;
+typedef void (*ObMenuShowFunc)(struct _ObMenuFrame *frame, gpointer data);
+typedef void (*ObMenuHideFunc)(struct _ObMenuFrame *frame, gpointer data);
typedef gboolean (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame,
gpointer data);
typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry,
@@ -75,6 +77,8 @@ struct _ObMenu
/* plugin data */
gpointer data;
+ ObMenuShowFunc show_func;
+ ObMenuHideFunc hide_func;
ObMenuUpdateFunc update_func;
ObMenuExecuteFunc execute_func;
ObMenuDestroyFunc destroy_func;
@@ -166,6 +170,8 @@ void menu_show_all_shortcuts(ObMenu *self, gboolean show);
void menu_show(gchar *name, gint x, gint y, gint button,
struct _ObClient *client);
+void menu_set_show_func(ObMenu *menu, ObMenuShowFunc func);
+void menu_set_hide_func(ObMenu *menu, ObMenuHideFunc func);
void menu_set_update_func(ObMenu *menu, ObMenuUpdateFunc func);
void menu_set_execute_func(ObMenu *menu, ObMenuExecuteFunc func);
void menu_set_destroy_func(ObMenu *menu, ObMenuDestroyFunc func);