summaryrefslogtreecommitdiff
path: root/lib/bemenu.h
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2014-10-25 01:38:30 +0300
committerJari Vetoniemi <mailroxas@gmail.com>2014-10-25 01:38:30 +0300
commit3f5e21a83f525586d1ee5b1bcd04cc2e50350403 (patch)
tree226cb57348ae89bc62df34cfd7ee2afe43f03c45 /lib/bemenu.h
parentf8d97efb8f1bc5a7e764e1bb14f0e97ac36de68d (diff)
downloadbemenu-3f5e21a83f525586d1ee5b1bcd04cc2e50350403.tar.gz
bemenu-3f5e21a83f525586d1ee5b1bcd04cc2e50350403.tar.bz2
bemenu-3f5e21a83f525586d1ee5b1bcd04cc2e50350403.zip
Cleanup wayland renderer and plugin support.
Diffstat (limited to 'lib/bemenu.h')
-rw-r--r--lib/bemenu.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/lib/bemenu.h b/lib/bemenu.h
index a58dcb3..20574f6 100644
--- a/lib/bemenu.h
+++ b/lib/bemenu.h
@@ -1,3 +1,6 @@
+#ifndef _BEMENU_H_
+#define _BEMENU_H_
+
/**
* @file bemenu.h
*
@@ -80,6 +83,27 @@ const char* bm_version(void);
* @{ */
/**
+ * Prioritories for renderer plugins.
+ */
+enum bm_prioritory {
+ /**
+ * Do not use this in renderers.
+ * This flag is for bm_menu_new, if any renderer is fine.
+ */
+ BM_PRIO_ANY,
+
+ /**
+ * Renderer runs in terminal.
+ */
+ BM_PRIO_TERMINAL,
+
+ /**
+ * Renderer runs in GUI.
+ */
+ BM_PRIO_GUI,
+};
+
+/**
* Get name of the renderer.
*
* @param renderer bm_renderer instance.
@@ -88,6 +112,14 @@ const char* bm_version(void);
const char* bm_renderer_get_name(const struct bm_renderer *renderer);
/**
+ * Get prioritory of the renderer.
+ *
+ * @param renderer bm_renderer instance.
+ * @return bm_prioritory enum value.
+ */
+enum bm_prioritory bm_renderer_get_prioritory(const struct bm_renderer *renderer);
+
+/**
* @} Renderer */
/**
@@ -158,9 +190,10 @@ enum bm_key {
* Create new bm_menu instance.
*
* @param renderer Name of renderer to be used for this instance, pass **NULL** for auto-detection.
+ * @param prioritory @link ::bm_prioritory @endlink enum for which kind of renderer is wanted. Pass BM_PRIO_ANY, for anything.
* @return bm_menu for new menu instance, **NULL** if creation failed.
*/
-struct bm_menu* bm_menu_new(const char *renderer);
+struct bm_menu* bm_menu_new(const char *renderer, enum bm_prioritory prioritory);
/**
* Release bm_menu instance.
@@ -512,4 +545,6 @@ const char* bm_item_get_text(const struct bm_item *item);
/** @} Item */
+#endif /* _BEMENU_H_ */
+
/* vim: set ts=8 sw=4 tw=0 :*/