diff options
Diffstat (limited to 'lib/bemenu.h')
-rw-r--r-- | lib/bemenu.h | 37 |
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 :*/ |