feat: searchable menus (#625)

* feat: make the menu searchable

Each menu/submenu can have a `on_search` and `search_debounce`.
`search_debounce` supports the special value 'submit' with which
searches only get executed upon pressing ctrl+enter.

Without a `on_search` an internal search implementation gets used.

The internal search has it's own menu update function that is needed to
keep the same menu item objects around because otherwise updates to
children get discarded when the parent search gets updated.

* feat: add `menu_type_to_search` option

Always listening to text breaks toggling the menu via a single keybind.
Add an option so users can choose to manually activate the search.
This commit is contained in:
christoph-heinrich
2023-09-21 10:28:43 +02:00
committed by GitHub
parent 7a4d687864
commit 18adf90af6
4 changed files with 276 additions and 32 deletions

View File

@@ -56,6 +56,7 @@ defaults = {
menu_min_width_fullscreen = 360,
menu_opacity = 1,
menu_parent_opacity = 0.4,
menu_type_to_search = true,
top_bar = 'no-border',
top_bar_size = 40,