diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-10 23:05:37 +0300 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-10 23:05:37 +0300 |
commit | 8e0dd1ab39d3d041b4093e2c43fdf6715da1add3 (patch) | |
tree | f15fb315ba34b779522b0e78bb1703e953d3c654 /lib | |
parent | 71beb7583f6cba2eb8070d5a05dcdf05b54f52bf (diff) | |
download | bemenu-8e0dd1ab39d3d041b4093e2c43fdf6715da1add3.tar.gz bemenu-8e0dd1ab39d3d041b4093e2c43fdf6715da1add3.tar.bz2 bemenu-8e0dd1ab39d3d041b4093e2c43fdf6715da1add3.zip |
Make it possible to set filter text manually.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bemenu.h | 16 | ||||
-rw-r--r-- | lib/menu.c | 30 |
2 files changed, 46 insertions, 0 deletions
diff --git a/lib/bemenu.h b/lib/bemenu.h index 6348693..d348ffa 100644 --- a/lib/bemenu.h +++ b/lib/bemenu.h @@ -401,6 +401,22 @@ void bmItemSetUserdata(bmItem *item, void *userdata); void* bmItemGetUserdata(bmItem *item); /** + * Set filter text to bmMenu instance. + * + * @param menu bmMenu instance where to set filter. + * @param filter Null terminated C "string" to act as filter. + */ +void bmMenuSetFilter(bmMenu *menu, const char *filter); + +/** + * Get filter text from bmMenu instance. + * + * @param menu bmMenu instance where to get filter. + * @return Const pointer to current filter text, may be **NULL** if empty. + */ +const char* bmMenuGetFilter(bmMenu *menu); + +/** * Set text to bmItem instance. * * @param item bmItem instance where to set text. @@ -117,6 +117,36 @@ void* bmMenuGetUserdata(bmMenu *menu) } /** + * Set filter text to bmMenu instance. + * + * @param menu bmMenu instance where to set filter. + * @param filter Null terminated C "string" to act as filter. + */ +void bmMenuSetFilter(bmMenu *menu, const char *filter) +{ + assert(menu); + + if (!filter) { + memset(menu->filter, 0, sizeof(menu->filter)); + return; + } + + strncpy(menu->filter, filter, sizeof(menu->filter)); +} + +/** + * Get filter text from bmMenu instance. + * + * @param menu bmMenu instance where to get filter. + * @return Const pointer to current filter text, may be **NULL** if empty. + */ +const char* bmMenuGetFilter(bmMenu *menu) +{ + assert(menu); + return menu->filter; +} + +/** * Set active filter mode to bmMenu instance. * * @param menu bmMenu instance where to set filter mode. |