Parse and execute user-defined hooks. More...
Include dependency graph for hook.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | MUTT_HOOK_NO_FLAGS 0 |
| No flags are set. | |
| #define | MUTT_FOLDER_HOOK (1 << 0) |
| folder-hook: when entering a mailbox | |
| #define | MUTT_MBOX_HOOK (1 << 1) |
| mbox-hook: move messages after reading them | |
| #define | MUTT_SEND_HOOK (1 << 2) |
| send-hook: when composing a new email | |
| #define | MUTT_FCC_HOOK (1 << 3) |
| fcc-hook: to save outgoing email | |
| #define | MUTT_SAVE_HOOK (1 << 4) |
| save-hook: set a default folder when saving an email | |
| #define | MUTT_CHARSET_HOOK (1 << 5) |
| charset-hook: create a charset alias for malformed emails | |
| #define | MUTT_ICONV_HOOK (1 << 6) |
| iconv-hook: create a system charset alias | |
| #define | MUTT_MESSAGE_HOOK (1 << 7) |
| message-hook: run before displaying a message | |
| #define | MUTT_CRYPT_HOOK (1 << 8) |
| crypt-hook: automatically select a PGP/SMIME key | |
| #define | MUTT_ACCOUNT_HOOK (1 << 9) |
| account-hook: when changing between accounts | |
| #define | MUTT_REPLY_HOOK (1 << 10) |
| reply-hook: when replying to an email | |
| #define | MUTT_SEND2_HOOK (1 << 11) |
| send2-hook: when changing fields in the compose menu | |
| #define | MUTT_OPEN_HOOK (1 << 12) |
| open-hook: to read a compressed mailbox | |
| #define | MUTT_APPEND_HOOK (1 << 13) |
| append-hook: append to a compressed mailbox | |
| #define | MUTT_CLOSE_HOOK (1 << 14) |
| close-hook: write to a compressed mailbox | |
| #define | MUTT_IDXFMTHOOK (1 << 15) |
| index-format-hook: customise the format of the index | |
| #define | MUTT_TIMEOUT_HOOK (1 << 16) |
| timeout-hook: run a command periodically | |
| #define | MUTT_STARTUP_HOOK (1 << 17) |
| startup-hook: run when starting NeoMutt | |
| #define | MUTT_SHUTDOWN_HOOK (1 << 18) |
| shutdown-hook: run when leaving NeoMutt | |
Typedefs | |
| typedef uint32_t | HookFlags |
| Flags for parse_hook(), e.g. MUTT_FOLDER_HOOK. | |
Functions | |
| void | hooks_init (void) |
| Setup feature commands. | |
| enum CommandResult | parse_hook_charset (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse charset hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_compress (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse compress hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_crypt (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse crypt hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_folder (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse folder hook command - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_global (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse global hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_index (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse the index format hook command - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_mailbox (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse mailbox pattern hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_mbox (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse mbox hook command - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_pattern (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse pattern-based hook commands - Implements Command::parse() -. | |
| enum CommandResult | parse_hook_regex (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse regex-based hook command - Implements Command::parse() -. | |
| enum CommandResult | parse_unhook (const struct Command *cmd, struct Buffer *line, struct Buffer *err) |
| Parse the unhook command - Implements Command::parse() -. | |
| void | mutt_account_hook (const char *url) |
| Perform an account hook. | |
| void | mutt_crypt_hook (struct ListHead *list, struct Address *addr) |
| Find crypto hooks for an Address. | |
| void | mutt_default_save (struct Buffer *path, struct Email *e) |
| Find the default save path for an email. | |
| void | mutt_delete_hooks (HookFlags type) |
| Delete matching hooks. | |
| char * | mutt_find_hook (HookFlags type, const char *pat) |
| Find a matching hook. | |
| void | mutt_folder_hook (const char *path, const char *desc) |
| Perform a folder hook. | |
| const struct Expando * | mutt_idxfmt_hook (const char *name, struct Mailbox *m, struct Email *e) |
| Get index-format-hook format string. | |
| void | mutt_message_hook (struct Mailbox *m, struct Email *e, HookFlags type) |
| Perform a message hook. | |
| void | mutt_select_fcc (struct Buffer *path, struct Email *e) |
| Select the FCC path for an email. | |
| void | mutt_startup_shutdown_hook (HookFlags type) |
| Execute any startup/shutdown hooks. | |
| void | mutt_timeout_hook (void) |
| Execute any timeout hooks. | |
Parse and execute user-defined hooks.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file hook.h.
| #define MUTT_FOLDER_HOOK (1 << 0) |
| #define MUTT_MBOX_HOOK (1 << 1) |
| #define MUTT_SEND_HOOK (1 << 2) |
| #define MUTT_FCC_HOOK (1 << 3) |
| #define MUTT_SAVE_HOOK (1 << 4) |
| #define MUTT_CHARSET_HOOK (1 << 5) |
| #define MUTT_ICONV_HOOK (1 << 6) |
| #define MUTT_MESSAGE_HOOK (1 << 7) |
| #define MUTT_CRYPT_HOOK (1 << 8) |
| #define MUTT_ACCOUNT_HOOK (1 << 9) |
| #define MUTT_REPLY_HOOK (1 << 10) |
| #define MUTT_SEND2_HOOK (1 << 11) |
| #define MUTT_OPEN_HOOK (1 << 12) |
| #define MUTT_APPEND_HOOK (1 << 13) |
| #define MUTT_CLOSE_HOOK (1 << 14) |
| #define MUTT_IDXFMTHOOK (1 << 15) |
| #define MUTT_TIMEOUT_HOOK (1 << 16) |
| #define MUTT_STARTUP_HOOK (1 << 17) |
| #define MUTT_SHUTDOWN_HOOK (1 << 18) |
| typedef uint32_t HookFlags |
Flags for parse_hook(), e.g. MUTT_FOLDER_HOOK.
| void hooks_init | ( | void | ) |
Setup feature commands.
Definition at line 1769 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mutt_account_hook | ( | const char * | url | ) |
Perform an account hook.
| url | Account URL to match |
Definition at line 1547 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mutt_crypt_hook | ( | struct ListHead * | list, |
| struct Address * | addr ) |
Find crypto hooks for an Address.
| [out] | list | List of keys |
| [in] | addr | Address to match |
The crypt-hook associates keys with addresses.
Definition at line 1538 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:Find the default save path for an email.
Definition at line 1438 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mutt_delete_hooks | ( | HookFlags | type | ) |
| char * mutt_find_hook | ( | HookFlags | type, |
| const char * | pat ) |
| void mutt_folder_hook | ( | const char * | path, |
| const char * | desc ) |
Perform a folder hook.
| path | Path to potentially match |
| desc | Description to potentially match |
Definition at line 1291 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:Get index-format-hook format string.
| ptr | Expando |
| NULL | No matching hook |
Definition at line 1651 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:Perform a message hook.
Definition at line 1360 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:Select the FCC path for an email.
Definition at line 1476 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mutt_startup_shutdown_hook | ( | HookFlags | type | ) |
Execute any startup/shutdown hooks.
| type | Hook type: MUTT_STARTUP_HOOK or MUTT_SHUTDOWN_HOOK |
The user can configure hooks to be run on startup/shutdown. This function finds all the matching hooks and executes them.
Definition at line 1624 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void mutt_timeout_hook | ( | void | ) |
Execute any timeout hooks.
The user can configure hooks to be run on timeout. This function finds all the matching hooks and executes them.
Definition at line 1592 of file hook.c.
Here is the call graph for this function:
Here is the caller graph for this function: