74 {
"<s-down>",
"kDN" },
75 {
"<a-down>",
"kDN3" },
76 {
"<c-down>",
"kDN5" },
78 {
"<c-right>",
"kRIT5" },
79 {
"<s-right>",
"kRIT" },
80 {
"<a-right>",
"kRIT3" },
82 {
"<s-left>",
"kLFT" },
83 {
"<a-left>",
"kLFT3" },
84 {
"<c-left>",
"kLFT5" },
86 {
"<s-home>",
"kHOM" },
87 {
"<a-home>",
"kHOM3" },
88 {
"<c-home>",
"kHOM5" },
90 {
"<s-end>",
"kEND" },
91 {
"<a-end>",
"kEND3" },
92 {
"<c-end>",
"kEND5" },
94 {
"<s-next>",
"kNXT" },
95 {
"<a-next>",
"kNXT3" },
96 {
"<c-next>",
"kNXT5" },
98 {
"<s-prev>",
"kPRV" },
99 {
"<a-prev>",
"kPRV3" },
100 {
"<c-prev>",
"kPRV5" },
136#ifdef HAVE_USE_EXTENDED_NAMES
137 use_extended_names(
true);
148 if (s && ((
long) (s) != -1))
150 int code = key_defined(s);
169 for (
int i = 0; map[i].
op != OP_NULL; i++)
201#ifdef CRYPT_BACKEND_GPGME
213 struct Keymap *np = NULL, *tmp = NULL;
244 mutt_error(
_(
"Abort key is not set, defaulting to Ctrl-G"));
250 mutt_warning(
_(
"Specified abort key sequence (%s) will be truncated to first key"),
const char * cs_subset_string(const struct ConfigSubset *sub, const char *name)
Get a string config item by name.
Convenience wrapper for the config headers.
Convenience wrapper for the core headers.
#define mutt_warning(...)
#define mutt_debug(LEVEL,...)
int main_config_observer(struct NotifyCallback *nc)
Notification that a Config Variable has changed - Implements observer_t -.
const struct MenuOpSeq GenericDefaultBindings[]
Key bindings for the Generic Menu.
const struct MenuOpSeq DialogDefaultBindings[]
Key bindings for Simple Dialogs.
Convenience wrapper for the gui headers.
const struct MenuOpSeq AttachmentDefaultBindings[]
Key bindings for the Attachment Menu.
const struct MenuOpSeq EditorDefaultBindings[]
Key bindings for the Editor Menu.
const struct MenuOpSeq QueryDefaultBindings[]
Key bindings for the external Query Menu.
const struct MenuOpSeq PostponedDefaultBindings[]
Key bindings for the Postpone Menu.
const struct MenuOpSeq BrowserDefaultBindings[]
Key bindings for the file Browser Menu.
const struct MenuOpSeq AliasDefaultBindings[]
Key bindings for the Alias Menu.
static const struct Extkey ExtKeys[]
Mapping between NeoMutt and Curses key names.
void km_init(void)
Initialise all the menu keybindings.
const struct MenuOpSeq PagerDefaultBindings[]
Key bindings for the Pager Menu.
const struct MenuOpSeq IndexDefaultBindings[]
Key bindings for the Index Menu.
const struct MenuOpSeq AutocryptDefaultBindings[]
Key bindings for the Autocrypt Account.
static const char * find_ext_name(const char *key)
Find the curses name for a key.
static void create_bindings(const struct MenuOpSeq *map, enum MenuType mtype)
Attach a set of keybindings to a Menu.
const struct MenuOpSeq PgpDefaultBindings[]
Key bindings for the Pgp Menu.
const struct MenuOpSeq ComposeDefaultBindings[]
Key bindings for the Compose Menu.
static void mutt_keymaplist_free(struct KeymapList *km_list)
Free a List of Keymaps.
void mutt_keys_cleanup(void)
Free the key maps.
void init_extended_keys(void)
Initialise map of ncurses extended keys.
const struct MenuOpSeq SmimeDefaultBindings[]
Key bindings for the Smime Menu.
void mutt_init_abort_key(void)
Parse the abort_key config string.
keycode_t AbortKey
code of key to abort prompts, normally Ctrl-G
void mutt_keymap_free(struct Keymap **ptr)
Free a Keymap.
struct KeymapList Keymaps[MENU_MAX]
Array of key mappings, one for each MenuType.
size_t parsekeys(const char *str, keycode_t *d, size_t max)
Parse a key string into key codes.
struct Mapping KeyNames[]
Key name lookup table.
short keycode_t
Type for key storage, the rest of neomutt works fine with int type.
enum CommandResult km_bindkey(const char *s, enum MenuType mtype, int op)
Bind a key in a Menu to an operation.
@ LL_DEBUG5
Log at debug level 5.
#define mutt_array_size(x)
Convenience wrapper for the library headers.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
API for encryption/signing of emails.
#define APPLICATION_PGP
Use PGP to encrypt/sign.
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
#define STAILQ_REMOVE(head, elm, type, field)
#define STAILQ_INIT(head)
#define STAILQ_FOREACH_SAFE(var, head, field, tvar)
const char * name
Name of config item that changed.
Map key names from NeoMutt's style to Curses style.
const char * sym
Curses key name.
const char * name
NeoMutt key name.
short len
Length of key sequence (unit: sizeof (keycode_t))
const char * name
String value.
Container for Accounts, Notifications.
struct ConfigSubset * sub
Inherited config items.
Data passed to a notification function.
void * event_data
Data from notify_send()
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
const char * mutt_tigetstr(const char *name)
Get terminal capabilities.
MenuType
Types of GUI selections.
@ MENU_KEY_SELECT_PGP
Select a PGP key.
@ MENU_INDEX
Index panel (list of emails)
@ MENU_DIALOG
Simple Dialog.
@ MENU_KEY_SELECT_SMIME
Select a SMIME key.
@ MENU_QUERY
Select from results of external query.
@ MENU_AUTOCRYPT
Autocrypt Account menu.
@ MENU_COMPOSE
Compose an email.
@ MENU_ATTACHMENT
Select an attachment.
@ MENU_PGP
PGP encryption menu.
@ MENU_GENERIC
Generic selection list.
@ MENU_PAGER
Pager pager (email viewer)
@ MENU_SMIME
SMIME encryption menu.
@ MENU_EDITOR
Text entry area.
@ MENU_ALIAS
Select an email address by its alias.
@ MENU_FOLDER
General file/mailbox browser.
@ MENU_POSTPONED
Select a postponed email.