NeoMutt  2025-12-11-949-g4870ee
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
functions.c
Go to the documentation of this file.
1
22
28
29#include "config.h"
30#include <string.h>
31#include "mutt/lib.h"
32#include "core/lib.h"
33#include "gui/lib.h"
34#include "fuzzy/lib.h"
35#include "key/lib.h"
36#include "menu/lib.h"
37#include "module_data.h"
38
39// clang-format off
43static const struct MenuFuncOp OpFuzzy[] = { /* map: fuzzy */
44 { "first-entry", OP_FIRST_ENTRY },
45 { "last-entry", OP_LAST_ENTRY },
46 { "next-entry", OP_NEXT_ENTRY },
47 { "next-page", OP_NEXT_PAGE },
48 { "previous-entry", OP_PREV_ENTRY },
49 { "previous-page", OP_PREV_PAGE },
50 { NULL, 0 },
51};
52
56const struct MenuOpSeq FuzzyDefaultBindings[] = { /* map: fuzzy */
57 { OP_FIRST_ENTRY, "<home>" },
58 { OP_LAST_ENTRY, "<end>" },
59 { OP_NEXT_ENTRY, "<down>" },
60 { OP_NEXT_PAGE, "<pagedown>" },
61 { OP_PREV_ENTRY, "<up>" },
62 { OP_PREV_PAGE, "<pageup>" },
63 { 0, NULL },
64};
65// clang-format on
66
70void fuzzy_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
71{
73 ASSERT(mod_data);
74
75 struct MenuDefinition *md = NULL;
76 struct SubMenu *sm = NULL;
77
79 md = km_register_menu(MENU_FUZZY, "fuzzy");
80 km_menu_add_submenu(md, sm);
82
83 mod_data->md_fuzzy = md;
84 mod_data->sm_fuzzy = sm;
85}
86
92{
94 ASSERT(mod_data);
95
96 return mod_data->sm_fuzzy;
97}
Convenience wrapper for the core headers.
const struct MenuOpSeq FuzzyDefaultBindings[]
Key bindings for the Fuzzy Window.
Definition functions.c:56
static const struct MenuFuncOp OpFuzzy[]
Functions for the Fuzzy Window.
Definition functions.c:43
struct SubMenu * fuzzy_get_submenu(void)
Get the Fuzzy SubMenu.
Definition functions.c:91
void fuzzy_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
Initialise the Fuzzy Keybindings - Implements ::init_keys_api.
Definition functions.c:70
Fuzzy matching library.
Fuzzy private Module data.
Convenience wrapper for the gui headers.
void km_menu_add_submenu(struct MenuDefinition *md, struct SubMenu *sm)
Add a SubMenu to a Menu Definition.
Definition init.c:123
struct SubMenu * km_register_submenu(const struct MenuFuncOp functions[])
Register a submenu.
Definition init.c:88
struct MenuDefinition * km_register_menu(int menu, const char *name)
Register a menu.
Definition init.c:105
void km_menu_add_bindings(struct MenuDefinition *md, const struct MenuOpSeq bindings[])
Add Keybindings to a Menu.
Definition init.c:136
Manage keymappings.
GUI present the user with a selectable list.
@ MODULE_ID_FUZZY
ModuleFuzzy, Fuzzy matching library
Definition module_api.h:67
Convenience wrapper for the library headers.
void * neomutt_get_module_data(struct NeoMutt *n, enum ModuleId id)
Get the private data for a Module.
Definition neomutt.c:666
#define ASSERT(COND)
Definition signal2.h:59
Fuzzy private Module data.
Definition module_data.h:32
struct MenuDefinition * md_fuzzy
Fuzzy Menu Definition.
Definition module_data.h:33
struct SubMenu * sm_fuzzy
Fuzzy functions.
Definition module_data.h:34
Functions for a Dialog or Window.
Definition menudef.h:44
Mapping between a function and an operation.
Definition menu.h:37
Mapping between an operation and a key sequence.
Definition menu.h:47
Container for Accounts, Notifications.
Definition neomutt.h:41
Collection of related functions.
Definition menudef.h:33
@ MENU_FUZZY
Fuzzy searcher.
Definition type.h:43