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.  | 
