NeoMutt  2025-12-11-694-ga89709
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
lib.h File Reference

Convenience wrapper for the debug headers. More...

#include "config.h"
#include <stdbool.h>
#include <stddef.h>
#include <time.h>
#include "mutt/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "expando/lib.h"
#include "menu/lib.h"
+ Include dependency graph for lib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void add_flag (struct Buffer *buf, bool is_set, const char *name)
 Add a flag name to a buffer if set.
 
void show_backtrace (void)
 Log the program's call stack.
 
char body_name (const struct Body *b)
 Get the first character of a body.
 
void dump_addr_list (char *buf, size_t buflen, const struct AddressList *al, const char *name)
 Dump an address list.
 
void dump_attach (const struct AttachPtr *att)
 Dump an attachment.
 
void dump_body (const struct Body *body)
 Dump a message body.
 
void dump_body_next (struct Buffer *buf, const struct Body *b)
 Dump the body tree structure.
 
void dump_body_one_line (const struct Body *b)
 Dump body layout as a one-line summary.
 
void dump_email (const struct Email *e)
 Dump an email message.
 
void dump_envelope (const struct Envelope *env)
 Dump an envelope.
 
void dump_list_head (const struct ListHead *list, const char *name)
 Dump a list of strings.
 
void dump_param_list (const struct ParameterList *pl)
 Dump a parameter list.
 
const char * name_expando_domain (enum ExpandoDomain did)
 Get the name of an expando domain.
 
const char * name_expando_node_type (enum ExpandoNodeType type)
 Get the name of an expando node type.
 
const char * name_expando_pad_type (enum ExpandoPadType type)
 Get the name of an expando padding type.
 
const char * name_expando_uid (enum ExpandoDomain did, int uid)
 Get the name of an email expando field.
 
const char * name_expando_uid_alias (int uid)
 Get the name of an alias expando field.
 
const char * name_expando_uid_all (int uid)
 
const char * name_expando_uid_attach (int uid)
 
const char * name_expando_uid_autocrypt (int uid)
 
const char * name_expando_uid_body (int uid)
 
const char * name_expando_uid_compose (int uid)
 
const char * name_expando_uid_compress (int uid)
 
const char * name_expando_uid_email (int uid)
 
const char * name_expando_uid_envelope (int uid)
 
const char * name_expando_uid_folder (int uid)
 
const char * name_expando_uid_global (int uid)
 
const char * name_expando_uid_history (int uid)
 
const char * name_expando_uid_index (int uid)
 
const char * name_expando_uid_mailbox (int uid)
 
const char * name_expando_uid_menu (int uid)
 
const char * name_expando_uid_nntp (int uid)
 
const char * name_expando_uid_pattern (int uid)
 
const char * name_expando_uid_pgp (int uid)
 
const char * name_expando_uid_pgp_cmd (int uid)
 
const char * name_expando_uid_pgp_key (int uid)
 
const char * name_expando_uid_pgp_key_gpgme (int uid)
 
const char * name_expando_uid_sidebar (int uid)
 
const char * name_expando_uid_smime_cmd (int uid)
 
const char * name_format_justify (enum FormatJustify just)
 
void dump_graphviz (const char *title, const struct MailboxView *mv)
 Dump NeoMutt data structures to GraphViz format.
 
void dump_graphviz_attach_ctx (const struct AttachCtx *actx)
 
void dump_graphviz_body (const struct Body *b)
 
void dump_graphviz_email (const struct Email *e, const char *title)
 
void dump_graphviz_expando_node (const struct ExpandoNode *node)
 
void dump_menu_binds (bool brief)
 Dump all menu bindings.
 
void dump_menu_funcs (bool brief)
 Dump all menu functions.
 
int log_disp_debug (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format,...)
 Display a log line on screen - Implements log_dispatcher_t -.
 
const char * name_color_id (int cid)
 Get the name of a color ID.
 
const char * name_command_id (enum CommandId id)
 Get the name of a Command id.
 
const char * name_content_disposition (enum ContentDisposition disp)
 Get the name of a content disposition.
 
const char * name_content_encoding (enum ContentEncoding enc)
 Get the name of a content encoding.
 
const char * name_content_type (enum ContentType type)
 Get the name of a content type.
 
const char * name_mailbox_type (enum MailboxType type)
 Get the name of a mailbox type.
 
const char * name_menu_type (enum MenuType mt)
 Get the name of a menu type.
 
const char * name_notify_config (int id)
 Get the name of a config notification type.
 
const char * name_notify_global (int id)
 Get the name of a global notification type.
 
const char * name_notify_mailbox (int id)
 Get the name of a mailbox notification type.
 
const char * name_notify_mview (int id)
 Get the name of a mailbox view notification type.
 
const char * name_notify_type (enum NotifyType type)
 Get the name of a notification type.
 
const char * name_window_size (const struct MuttWindow *win)
 Get the name of a window size.
 
const char * name_window_type (const struct MuttWindow *win)
 Get the name of a window type.
 
int debug_all_observer (struct NotifyCallback *nc)
 Debug observer for all notifications.
 
static void dump_pager (struct PagerPrivateData *priv)
 
void debug_win_dump (void)
 Dump all windows to debug output.
 

Variables

bool DebugLogColor
 Output ANSI colours.
 
bool DebugLogLevel
 Prefix log level, e.g. [E].
 
bool DebugLogTimestamp
 Show the timestamp.
 

Detailed Description

Convenience wrapper for the debug headers.

Authors
  • Richard Russon

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

Function Documentation

◆ add_flag()

void add_flag ( struct Buffer * buf,
bool is_set,
const char * name )

Add a flag name to a buffer if set.

Parameters
bufBuffer to append to
is_setTrue if flag is set
nameFlag name

Definition at line 40 of file common.c.

41{
42 if (!buf || !name)
43 return;
44
45 if (is_set)
46 {
47 if (!buf_is_empty(buf))
48 buf_addch(buf, ',');
49 buf_addstr(buf, name);
50 }
51}
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
Definition buffer.c:291
size_t buf_addch(struct Buffer *buf, char c)
Add a single character to a Buffer.
Definition buffer.c:241
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
Definition buffer.c:226
+ Here is the call graph for this function:

◆ show_backtrace()

void show_backtrace ( void )

Log the program's call stack.

Definition at line 40 of file backtrace.c.

41{
42 unw_cursor_t cursor = { 0 };
43 unw_context_t uc = { 0 };
44 unw_word_t ip = 0;
45 unw_word_t sp = 0;
46 char buf[256] = { 0 };
47
48 printf("\n%s\n", mutt_make_version());
49 printf("Backtrace\n");
50 mutt_debug(LL_DEBUG1, "\nBacktrace\n");
51 unw_getcontext(&uc);
52 unw_init_local(&cursor, &uc);
53 while (unw_step(&cursor) > 0)
54 {
55 unw_get_reg(&cursor, UNW_REG_IP, &ip);
56 unw_get_reg(&cursor, UNW_REG_SP, &sp);
57 unw_get_proc_name(&cursor, buf, sizeof(buf), &ip);
58 if (buf[0] == '_')
59 continue;
60 printf(" %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
61 mutt_debug(LL_DEBUG1, " %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
62 }
63 printf("\n");
64}
#define mutt_debug(LEVEL,...)
Definition logging2.h:91
@ LL_DEBUG1
Log at debug level 1.
Definition logging2.h:45
const char * mutt_make_version(void)
Generate the NeoMutt version string.
Definition version.c:293
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ body_name()

char body_name ( const struct Body * b)

Get the first character of a body.

Parameters
bBody to examine
Return values
charCharacter from description, filename or indicator

Definition at line 417 of file email.c.

418{
419 if (!b)
420 return '!';
421
422 if (b->type == TYPE_MULTIPART)
423 return '&';
424
425 if (b->description)
426 return b->description[0];
427
428 if (b->filename)
429 {
430 const char *base = basename(b->filename);
431 if (mutt_str_startswith(base, "neomutt-"))
432 return '0';
433
434 return base[0];
435 }
436
437 return '!';
438}
@ TYPE_MULTIPART
Type: 'multipart/*'.
Definition mime.h:37
size_t mutt_str_startswith(const char *str, const char *prefix)
Check whether a string starts with a prefix.
Definition string.c:234
char * description
content-description
Definition body.h:55
unsigned int type
content-type primary type, ContentType
Definition body.h:40
char * filename
When sending a message, this is the file to which this structure refers.
Definition body.h:59
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_addr_list()

void dump_addr_list ( char * buf,
size_t buflen,
const struct AddressList * al,
const char * name )

Dump an address list.

Parameters
bufBuffer to write to
buflenLength of buffer
alAddress list to dump
nameName of the list

Definition at line 47 of file email.c.

48{
49 if (!buf || !al)
50 return;
51 if (TAILQ_EMPTY(al))
52 return;
53
54 buf[0] = '\0';
55 struct Buffer *tmpbuf = buf_pool_get();
56 mutt_addrlist_write(al, tmpbuf, true);
57 mutt_str_copy(buf, buf_string(tmpbuf), buflen);
58 buf_pool_release(&tmpbuf);
59
60 mutt_debug(LL_DEBUG1, "\t%s: %s\n", name, buf);
61}
size_t mutt_addrlist_write(const struct AddressList *al, struct Buffer *buf, bool display)
Write an Address to a buffer.
Definition address.c:1215
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
Definition buffer.h:96
size_t mutt_str_copy(char *dest, const char *src, size_t dsize)
Copy a string into a buffer (guaranteeing NUL-termination)
Definition string.c:586
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
Definition pool.c:91
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Definition pool.c:111
#define TAILQ_EMPTY(head)
Definition queue.h:778
String manipulation buffer.
Definition buffer.h:36
+ Here is the call graph for this function:

◆ dump_attach()

void dump_attach ( const struct AttachPtr * att)

Dump an attachment.

Parameters
attAttachment to dump

Helper to add an attach flag to debug output

Definition at line 383 of file email.c.

384{
385 mutt_debug(LL_DEBUG1, "AttachPtr\n");
386
387 if (!att)
388 {
389 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
390 return;
391 }
392
393 struct Buffer *buf = buf_pool_get();
394
396#define ADD_FLAG(F) add_flag(buf, att->F, #F)
397 ADD_FLAG(unowned);
398 ADD_FLAG(decrypted);
399 ADD_FLAG(collapsed);
400#undef ADD_FLAG
401
402 if (att->fp)
403 mutt_debug(LL_DEBUG1, "\tfp: %p (%d)\n", (void *) att->fp, fileno(att->fp));
404 mutt_debug(LL_DEBUG1, "\tparent_type: %d\n", att->parent_type);
405 mutt_debug(LL_DEBUG1, "\tlevel: %d\n", att->level);
406 mutt_debug(LL_DEBUG1, "\tnum: %d\n", att->num);
407
408 // struct Body *content; ///< Attachment
409 buf_pool_release(&buf);
410}
#define ADD_FLAG(F)
int num
Attachment index number.
Definition attach.h:41
int level
Nesting depth of attachment.
Definition attach.h:40
FILE * fp
Used in the recvattach menu.
Definition attach.h:37
int parent_type
Type of parent attachment, e.g. TYPE_MULTIPART.
Definition attach.h:38
+ Here is the call graph for this function:

◆ dump_body()

void dump_body ( const struct Body * body)

Dump a message body.

Parameters
bodyBody to dump

Helper to add a body flag to debug output

Helper to print optional string fields in body

Definition at line 294 of file email.c.

295{
296 mutt_debug(LL_DEBUG1, "Body\n");
297
298 if (!body)
299 {
300 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
301 return;
302 }
303
304 struct Buffer *buf = buf_pool_get();
305 char arr[256];
306
308#define ADD_FLAG(F) add_flag(buf, body->F, #F)
309 ADD_FLAG(attach_qualifies);
310 ADD_FLAG(badsig);
311 ADD_FLAG(deleted);
312 ADD_FLAG(force_charset);
313 ADD_FLAG(goodsig);
314#ifdef USE_AUTOCRYPT
315 ADD_FLAG(is_autocrypt);
316#endif
317 ADD_FLAG(noconv);
318 ADD_FLAG(tagged);
319 ADD_FLAG(unlink);
320 ADD_FLAG(use_disp);
321 ADD_FLAG(warnsig);
322#undef ADD_FLAG
323 mutt_debug(LL_DEBUG1, "\tFlags: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
324
326#define OPT_STRING(S) \
327 if (body->S) \
328 mutt_debug(LL_DEBUG1, "\t%s: %s\n", #S, body->S)
329 OPT_STRING(charset);
330 OPT_STRING(description);
331 OPT_STRING(d_filename);
332 OPT_STRING(filename);
333 OPT_STRING(form_name);
334 OPT_STRING(language);
335 OPT_STRING(subtype);
336 OPT_STRING(xtype);
337#undef OPT_STRING
338
339 mutt_debug(LL_DEBUG1, "\thdr_offset: %ld\n", body->hdr_offset);
340 mutt_debug(LL_DEBUG1, "\toffset: %ld\n", body->offset);
341 mutt_debug(LL_DEBUG1, "\tlength: %ld\n", body->length);
342 mutt_debug(LL_DEBUG1, "\tattach_count: %d\n", body->attach_count);
343
344 mutt_debug(LL_DEBUG1, "\tcontent type: %s\n", name_content_type(body->type));
345 mutt_debug(LL_DEBUG1, "\tcontent encoding: %s\n", name_content_encoding(body->encoding));
346 mutt_debug(LL_DEBUG1, "\tcontent disposition: %s\n",
348
349 if (body->stamp != 0)
350 {
351 mutt_date_make_tls(arr, sizeof(arr), body->stamp);
352 mutt_debug(LL_DEBUG1, "\tstamp: %s\n", arr);
353 }
354
356
357 // struct Content *content; ///< Detailed info about the content of the attachment.
358 // struct Body *next; ///< next attachment in the list
359 // struct Body *parts; ///< parts of a multipart or message/rfc822
360 // struct Email *email; ///< header information for message/rfc822
361 // struct AttachPtr *aptr; ///< Menu information, used in recvattach.c
362 // struct Envelope *mime_headers; ///< Memory hole protected headers
363
364 if (body->next)
365 {
366 mutt_debug(LL_DEBUG1, "-NEXT-------------------------\n");
367 dump_body(body->next);
368 }
369 if (body->parts)
370 {
371 mutt_debug(LL_DEBUG1, "-PARTS-------------------------\n");
372 dump_body(body->parts);
373 }
374 if (body->next || body->parts)
375 mutt_debug(LL_DEBUG1, "--------------------------\n");
376 buf_pool_release(&buf);
377}
#define OPT_STRING(S)
void dump_param_list(const struct ParameterList *pl)
Dump a parameter list.
Definition email.c:267
void dump_body(const struct Body *body)
Dump a message body.
Definition email.c:294
const char * name_content_encoding(enum ContentEncoding enc)
Get the name of a content encoding.
Definition names.c:177
const char * name_content_type(enum ContentType type)
Get the name of a content type.
Definition names.c:154
const char * name_content_disposition(enum ContentDisposition disp)
Get the name of a content disposition.
Definition names.c:197
int mutt_date_make_tls(char *buf, size_t buflen, time_t timestamp)
Format date in TLS certificate verification style.
Definition date.c:838
struct Body * parts
parts of a multipart or message/rfc822
Definition body.h:73
LOFF_T offset
offset where the actual data begins
Definition body.h:52
signed short attach_count
Number of attachments.
Definition body.h:91
time_t stamp
Time stamp of last encoding update.
Definition body.h:77
LOFF_T length
length (in bytes) of attachment
Definition body.h:53
struct ParameterList parameter
Parameters of the content-type.
Definition body.h:63
unsigned int disposition
content-disposition, ContentDisposition
Definition body.h:42
struct Body * next
next attachment in the list
Definition body.h:72
unsigned int encoding
content-transfer-encoding, ContentEncoding
Definition body.h:41
long hdr_offset
Offset in stream where the headers begin.
Definition body.h:81
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_body_next()

void dump_body_next ( struct Buffer * buf,
const struct Body * b )

Dump the body tree structure.

Parameters
bufBuffer to write to
bBody to dump

Definition at line 445 of file email.c.

446{
447 if (!b)
448 return;
449
450 buf_addstr(buf, "<");
451 for (; b; b = b->next)
452 {
453 buf_add_printf(buf, "%c", body_name(b));
454 dump_body_next(buf, b->parts);
455 if (b->next)
456 buf_addch(buf, ',');
457 }
458 buf_addstr(buf, ">");
459}
int buf_add_printf(struct Buffer *buf, const char *fmt,...)
Format a string appending a Buffer.
Definition buffer.c:204
void dump_body_next(struct Buffer *buf, const struct Body *b)
Dump the body tree structure.
Definition email.c:445
char body_name(const struct Body *b)
Get the first character of a body.
Definition email.c:417
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_body_one_line()

void dump_body_one_line ( const struct Body * b)

Dump body layout as a one-line summary.

Parameters
bBody to summarize

Definition at line 465 of file email.c.

466{
467 if (!b)
468 return;
469
470 struct Buffer *buf = buf_pool_get();
471 buf_addstr(buf, "Body layout: ");
472 dump_body_next(buf, b);
473
474 mutt_message("%s", buf_string(buf));
475 buf_pool_release(&buf);
476}
#define mutt_message(...)
Definition logging2.h:93
+ Here is the call graph for this function:

◆ dump_email()

void dump_email ( const struct Email * e)

Dump an email message.

Parameters
eEmail to dump

Helper to add an email flag to debug output

Helper to add a security flag to debug output

Definition at line 170 of file email.c.

171{
172 mutt_debug(LL_DEBUG1, "Email\n");
173
174 if (!e)
175 {
176 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
177 return;
178 }
179
180 struct Buffer *buf = buf_pool_get();
181 char arr[256];
182
183 mutt_debug(LL_DEBUG1, "\tpath: %s\n", e->path);
184
186#define ADD_FLAG(F) add_flag(buf, e->F, #F)
187 ADD_FLAG(active);
188 ADD_FLAG(attach_del);
189 ADD_FLAG(attach_valid);
190 ADD_FLAG(changed);
191 ADD_FLAG(collapsed);
192 ADD_FLAG(deleted);
193 ADD_FLAG(display_subject);
194 ADD_FLAG(expired);
195 ADD_FLAG(flagged);
196 ADD_FLAG(matched);
197 ADD_FLAG(mime);
198 ADD_FLAG(old);
199 ADD_FLAG(purge);
200 ADD_FLAG(quasi_deleted);
201 ADD_FLAG(read);
202 ADD_FLAG(recip_valid);
203 ADD_FLAG(replied);
204 ADD_FLAG(searched);
205 ADD_FLAG(subject_changed);
206 ADD_FLAG(superseded);
207 ADD_FLAG(tagged);
208 ADD_FLAG(threaded);
209 ADD_FLAG(trash);
210 ADD_FLAG(visible);
211#undef ADD_FLAG
212 mutt_debug(LL_DEBUG1, "\tFlags: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
213
215#define ADD_FLAG(F) add_flag(buf, (e->security & F), #F)
216 buf_reset(buf);
231#undef ADD_FLAG
232 mutt_debug(LL_DEBUG1, "\tSecurity: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
233
234 mutt_date_make_tls(arr, sizeof(arr), e->date_sent);
235 mutt_debug(LL_DEBUG1, "\tSent: %s (%c%02u%02u)\n", arr,
236 e->zoccident ? '-' : '+', e->zhours, e->zminutes);
237
238 mutt_date_make_tls(arr, sizeof(arr), e->received);
239 mutt_debug(LL_DEBUG1, "\tRecv: %s\n", arr);
240
241 buf_pool_release(&buf);
242
243 mutt_debug(LL_DEBUG1, "\tnum_hidden: %ld\n", e->num_hidden);
244 mutt_debug(LL_DEBUG1, "\trecipient: %d\n", e->recipient);
245 mutt_debug(LL_DEBUG1, "\toffset: %ld\n", e->offset);
246 mutt_debug(LL_DEBUG1, "\tlines: %d\n", e->lines);
247 mutt_debug(LL_DEBUG1, "\tindex: %d\n", e->index);
248 mutt_debug(LL_DEBUG1, "\tmsgno: %d\n", e->msgno);
249 mutt_debug(LL_DEBUG1, "\tvnum: %d\n", e->vnum);
250 mutt_debug(LL_DEBUG1, "\tscore: %d\n", e->score);
251 mutt_debug(LL_DEBUG1, "\tattach_total: %d\n", e->attach_total);
252 // if (e->maildir_flags)
253 // mutt_debug(LL_DEBUG1, "\tmaildir_flags: %s\n", e->maildir_flags);
254
255 // struct MuttThread *thread
256 // struct Envelope *env
257 // struct Body *content
258 // struct TagList tags
259
260 // void *edata
261}
void buf_reset(struct Buffer *buf)
Reset an existing Buffer.
Definition buffer.c:76
#define SEC_INLINE
Email has an inline signature.
Definition lib.h:93
#define SEC_AUTOCRYPT
(Autocrypt) Message will be, or was Autocrypt encrypt+signed
Definition lib.h:95
#define SEC_OPPENCRYPT
Opportunistic encrypt mode.
Definition lib.h:94
#define PGP_TRADITIONAL_CHECKED
Email has a traditional (inline) signature.
Definition lib.h:100
#define SEC_GOODSIGN
Email has a valid signature.
Definition lib.h:88
#define APPLICATION_PGP
Use PGP to encrypt/sign.
Definition lib.h:98
#define SEC_SIGNOPAQUE
Email has an opaque signature (encrypted)
Definition lib.h:91
#define SEC_BADSIGN
Email has a bad signature.
Definition lib.h:89
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
Definition lib.h:99
#define SEC_PARTSIGN
Not all parts of the email is signed.
Definition lib.h:90
#define SEC_ENCRYPT
Email is encrypted.
Definition lib.h:86
#define SEC_AUTOCRYPT_OVERRIDE
(Autocrypt) Indicates manual set/unset of encryption
Definition lib.h:96
#define SEC_SIGN
Email is signed.
Definition lib.h:87
#define SEC_KEYBLOCK
Email has a key attached.
Definition lib.h:92
unsigned int zminutes
Minutes away from UTC.
Definition email.h:57
int lines
How many lines in the body of this message?
Definition email.h:62
size_t num_hidden
Number of hidden messages in this view (only valid when collapsed is set)
Definition email.h:123
bool zoccident
True, if west of UTC, False if east.
Definition email.h:58
LOFF_T offset
Where in the stream does this message begin?
Definition email.h:71
short attach_total
Number of qualifying attachments in message, if attach_valid.
Definition email.h:115
unsigned int zhours
Hours away from UTC.
Definition email.h:56
time_t date_sent
Time when the message was sent (UTC)
Definition email.h:60
int vnum
Virtual message number.
Definition email.h:114
int score
Message score.
Definition email.h:113
int msgno
Number displayed to the user.
Definition email.h:111
char * path
Path of Email (for local Mailboxes)
Definition email.h:70
int index
The absolute (unsorted) message number.
Definition email.h:110
short recipient
User_is_recipient()'s return value, cached.
Definition email.h:116
time_t received
Time when the message was placed in the mailbox.
Definition email.h:61
+ Here is the call graph for this function:

◆ dump_envelope()

void dump_envelope ( const struct Envelope * env)

Dump an envelope.

Parameters
envEnvelope to dump

Helper to add a flag to debug output

Helper to dump an address list with debug output

Helper to print optional string fields

Definition at line 93 of file email.c.

94{
95 mutt_debug(LL_DEBUG1, "Envelope\n");
96
97 if (!env)
98 {
99 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
100 return;
101 }
102
103 struct Buffer *buf = buf_pool_get();
104 char arr[1024];
105
107#define ADD_FLAG(F) add_flag(buf, (env->changed & F), #F)
112#undef ADD_FLAG
113 mutt_debug(LL_DEBUG1, "\tchanged: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
114
116#define ADDR_LIST(AL) dump_addr_list(arr, sizeof(arr), &env->AL, #AL)
117 ADDR_LIST(return_path);
118 ADDR_LIST(from);
119 ADDR_LIST(to);
120 ADDR_LIST(cc);
121 ADDR_LIST(bcc);
122 ADDR_LIST(sender);
123 ADDR_LIST(reply_to);
124 ADDR_LIST(mail_followup_to);
125 ADDR_LIST(x_original_to);
126#undef ADDR_LIST
127
129#define OPT_STRING(S) \
130 if (env->S) \
131 mutt_debug(LL_DEBUG1, "\t%s: %s\n", #S, env->S)
132 OPT_STRING(list_post);
133 OPT_STRING(list_subscribe);
134 OPT_STRING(list_unsubscribe);
135 OPT_STRING(subject);
136 OPT_STRING(real_subj);
137 OPT_STRING(disp_subj);
138 OPT_STRING(message_id);
139 OPT_STRING(supersedes);
140 OPT_STRING(date);
141 OPT_STRING(x_label);
142 OPT_STRING(organization);
143 OPT_STRING(newsgroups);
144 OPT_STRING(xref);
145 OPT_STRING(followup_to);
146 OPT_STRING(x_comment_to);
147#undef OPT_STRING
148
149 dump_list_head(&env->references, "references");
150 dump_list_head(&env->in_reply_to, "in_reply_to");
151 dump_list_head(&env->userhdrs, "userhdrs");
152
153 if (!buf_is_empty(&env->spam))
154 mutt_debug(LL_DEBUG1, "\tspam: %s\n", buf_string(&env->spam));
155
156#ifdef USE_AUTOCRYPT
157 if (env->autocrypt)
158 mutt_debug(LL_DEBUG1, "\tautocrypt: %p\n", (void *) env->autocrypt);
159 if (env->autocrypt_gossip)
160 mutt_debug(LL_DEBUG1, "\tautocrypt_gossip: %p\n", (void *) env->autocrypt_gossip);
161#endif
162
163 buf_pool_release(&buf);
164}
void dump_list_head(const struct ListHead *list, const char *name)
Dump a list of strings.
Definition email.c:68
#define ADDR_LIST(AL)
#define MUTT_ENV_CHANGED_SUBJECT
Protected header update.
Definition envelope.h:37
#define MUTT_ENV_CHANGED_XLABEL
X-Label edited.
Definition envelope.h:36
#define MUTT_ENV_CHANGED_IRT
In-Reply-To changed to link/break threads.
Definition envelope.h:34
#define MUTT_ENV_CHANGED_REFS
References changed to break thread.
Definition envelope.h:35
struct ListHead userhdrs
user defined headers
Definition envelope.h:85
struct AutocryptHeader * autocrypt_gossip
Autocrypt Gossip header.
Definition envelope.h:88
struct ListHead references
message references (in reverse order)
Definition envelope.h:83
struct AutocryptHeader * autocrypt
Autocrypt header.
Definition envelope.h:87
struct Buffer spam
Spam header.
Definition envelope.h:82
struct ListHead in_reply_to
in-reply-to header content
Definition envelope.h:84
+ Here is the call graph for this function:

◆ dump_list_head()

void dump_list_head ( const struct ListHead * list,
const char * name )

Dump a list of strings.

Parameters
listList to dump
nameName of the list

Definition at line 68 of file email.c.

69{
70 if (!list || !name)
71 return;
72 if (STAILQ_EMPTY(list))
73 return;
74
75 struct Buffer *buf = buf_pool_get();
76
77 struct ListNode *np = NULL;
78 STAILQ_FOREACH(np, list, entries)
79 {
80 if (!buf_is_empty(buf))
81 buf_addch(buf, ',');
82 buf_addstr(buf, np->data);
83 }
84
85 mutt_debug(LL_DEBUG1, "\t%s: %s\n", name, buf_string(buf));
86 buf_pool_release(&buf);
87}
#define STAILQ_FOREACH(var, head, field)
Definition queue.h:390
#define STAILQ_EMPTY(head)
Definition queue.h:382
A List node for strings.
Definition list.h:37
char * data
String.
Definition list.h:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_param_list()

void dump_param_list ( const struct ParameterList * pl)

Dump a parameter list.

Parameters
plParameter list to dump

Definition at line 267 of file email.c.

268{
269 mutt_debug(LL_DEBUG1, "\tparameters\n");
270
271 if (!pl)
272 {
273 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
274 return;
275 }
276
277 if (TAILQ_EMPTY(pl))
278 {
279 mutt_debug(LL_DEBUG1, "\tempty\n");
280 return;
281 }
282
283 struct Parameter *np = NULL;
284 TAILQ_FOREACH(np, pl, entries)
285 {
286 mutt_debug(LL_DEBUG1, "\t\t%s = %s\n", NONULL(np->attribute), NONULL(np->value));
287 }
288}
#define TAILQ_FOREACH(var, head, field)
Definition queue.h:782
#define NONULL(x)
Definition string2.h:44
Attribute associated with a MIME part.
Definition parameter.h:33
char * attribute
Parameter name.
Definition parameter.h:34
char * value
Parameter value.
Definition parameter.h:35
+ Here is the caller graph for this function:

◆ name_expando_domain()

const char * name_expando_domain ( enum ExpandoDomain did)

Get the name of an expando domain.

Parameters
didDomain ID enum
Return values
strName of the domain

Definition at line 106 of file names_expando.c.

107{
108 switch (did)
109 {
132 }
133}
@ ED_ENVELOPE
Envelope ED_ENV_ ExpandoDataEnvelope.
Definition domain.h:42
@ ED_SIDEBAR
Sidebar ED_SID_ ExpandoDataSidebar.
Definition domain.h:55
@ ED_COMPOSE
Compose ED_COM_ ExpandoDataCompose.
Definition domain.h:39
@ ED_EMAIL
Email ED_EMA_ ExpandoDataEmail.
Definition domain.h:41
@ ED_ALIAS
Alias ED_ALI_ ExpandoDataAlias.
Definition domain.h:35
@ ED_PGP_CMD
Pgp Command ED_PGC_ ExpandoDataPgpCmd.
Definition domain.h:53
@ ED_FOLDER
Folder ED_FOL_ ExpandoDataFolder.
Definition domain.h:43
@ ED_SMIME_CMD
Smime Command ED_SMI_ ExpandoDataSmimeCmd.
Definition domain.h:56
@ ED_PGP
Pgp ED_PGP_ ExpandoDataPgp.
Definition domain.h:52
@ ED_PATTERN
Pattern ED_PAT_ ExpandoDataPattern.
Definition domain.h:51
@ ED_MENU
Menu ED_MEN_ ExpandoDataMenu.
Definition domain.h:48
@ ED_AUTOCRYPT
Autocrypt ED_AUT_ ExpandoDataAutocrypt.
Definition domain.h:37
@ ED_GLOBAL
Global ED_GLO_ ExpandoDataGlobal.
Definition domain.h:44
@ ED_BODY
Body ED_BOD_ ExpandoDataBody.
Definition domain.h:38
@ ED_MAILBOX
Mailbox ED_MBX_ ExpandoDataMailbox.
Definition domain.h:47
@ ED_INDEX
Index ED_IND_ ExpandoDataIndex.
Definition domain.h:46
@ ED_ATTACH
Attach ED_ATT_ ExpandoDataAttach.
Definition domain.h:36
@ ED_PGP_KEY
Pgp_Key ED_PGK_ ExpandoDataPgpKey.
Definition domain.h:54
@ ED_NNTP
Nntp ED_NTP_ ExpandoDataNntp.
Definition domain.h:50
@ ED_COMPRESS
Compress ED_CMP_ ExpandoDataCompress.
Definition domain.h:40
@ ED_HISTORY
History ED_HIS_ ExpandoDataHistory.
Definition domain.h:45
#define DEBUG_DEFAULT
Definition names.c:43
#define DEBUG_NAME(NAME)
+ Here is the caller graph for this function:

◆ name_expando_node_type()

const char * name_expando_node_type ( enum ExpandoNodeType type)

Get the name of an expando node type.

Parameters
typeExpando node type enum
Return values
strName of the node type

Definition at line 70 of file names_expando.c.

71{
72 switch (type)
73 {
82 }
83}
@ ENT_EXPANDO
Expando, e.g. 'n'.
Definition node.h:39
@ ENT_CONDITION
True/False condition.
Definition node.h:41
@ ENT_TEXT
Plain text.
Definition node.h:38
@ ENT_CONDDATE
True/False date condition.
Definition node.h:43
@ ENT_EMPTY
Empty.
Definition node.h:37
@ ENT_CONDBOOL
True/False boolean condition.
Definition node.h:42
@ ENT_PADDING
Padding: soft, hard, EOL.
Definition node.h:40

◆ name_expando_pad_type()

const char * name_expando_pad_type ( enum ExpandoPadType type)

Get the name of an expando padding type.

Parameters
typePadding type enum
Return values
strName of the padding type

Definition at line 90 of file names_expando.c.

91{
92 switch (type)
93 {
98 }
99}
@ EPT_FILL_EOL
Fill to the end-of-line.
@ EPT_SOFT_FILL
Soft-fill: right-hand-side will be truncated.
@ EPT_HARD_FILL
Hard-fill: left-hand-side will be truncated.
+ Here is the caller graph for this function:

◆ name_expando_uid()

const char * name_expando_uid ( enum ExpandoDomain did,
int uid )

Get the name of an email expando field.

Parameters
didDomain ID
uidUnique ID
Return values
strName of the field

Definition at line 528 of file names_expando.c.

529{
530 switch (did)
531 {
532 case ED_ALIAS:
533 return name_expando_uid_alias(uid);
534 case ED_ATTACH:
535 return name_expando_uid_attach(uid);
536#ifdef USE_AUTOCRYPT
537 case ED_AUTOCRYPT:
538 return name_expando_uid_autocrypt(uid);
539#endif
540 case ED_BODY:
541 return name_expando_uid_body(uid);
542 case ED_COMPOSE:
543 return name_expando_uid_compose(uid);
544 case ED_COMPRESS:
545 return name_expando_uid_compress(uid);
546 case ED_EMAIL:
547 return name_expando_uid_email(uid);
548 case ED_ENVELOPE:
549 return name_expando_uid_envelope(uid);
550 case ED_FOLDER:
551 return name_expando_uid_folder(uid);
552 case ED_GLOBAL:
553 return name_expando_uid_global(uid);
554 case ED_HISTORY:
555 return name_expando_uid_history(uid);
556 case ED_INDEX:
557 return name_expando_uid_index(uid);
558 case ED_MAILBOX:
559 return name_expando_uid_mailbox(uid);
560 case ED_MENU:
561 return name_expando_uid_menu(uid);
562 case ED_MSG_ID:
563 return name_expando_uid_msg_id(uid);
564 case ED_NNTP:
565 return name_expando_uid_nntp(uid);
566 case ED_PATTERN:
567 return name_expando_uid_pattern(uid);
568 case ED_PGP:
569 return name_expando_uid_pgp(uid);
570 case ED_PGP_CMD:
571 return name_expando_uid_pgp_cmd(uid);
572 case ED_PGP_KEY:
573 return name_expando_uid_pgp_key(uid);
574 case ED_SIDEBAR:
575 return name_expando_uid_sidebar(uid);
576 case ED_SMIME_CMD:
577 return name_expando_uid_smime_cmd(uid);
578 default:
579 ASSERT(false);
580 return "UNKNOWN";
581 }
582}
@ ED_MSG_ID
Message Id ED_MSG_ ExpandoDataMsgId.
Definition domain.h:49
const char * name_expando_uid_history(int uid)
const char * name_expando_uid_pgp(int uid)
const char * name_expando_uid_compress(int uid)
const char * name_expando_uid_compose(int uid)
const char * name_expando_uid_pgp_key(int uid)
const char * name_expando_uid_mailbox(int uid)
const char * name_expando_uid_autocrypt(int uid)
const char * name_expando_uid_folder(int uid)
const char * name_expando_uid_sidebar(int uid)
const char * name_expando_uid_pgp_cmd(int uid)
const char * name_expando_uid_attach(int uid)
const char * name_expando_uid_alias(int uid)
Get the name of an alias expando field.
const char * name_expando_uid_body(int uid)
const char * name_expando_uid_pattern(int uid)
const char * name_expando_uid_envelope(int uid)
const char * name_expando_uid_msg_id(int uid)
const char * name_expando_uid_menu(int uid)
const char * name_expando_uid_email(int uid)
const char * name_expando_uid_index(int uid)
const char * name_expando_uid_global(int uid)
const char * name_expando_uid_nntp(int uid)
const char * name_expando_uid_smime_cmd(int uid)
#define ASSERT(COND)
Definition signal2.h:59
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ name_expando_uid_alias()

const char * name_expando_uid_alias ( int uid)

Get the name of an alias expando field.

Parameters
uidUnique ID
Return values
strName of the field

Definition at line 140 of file names_expando.c.

141{
142 switch (uid)
143 {
154 }
155}
@ ED_ALI_FLAGS
Alias.flags.
Definition expando.h:39
@ ED_ALI_EMAIL
Alias.addr.mailbox.
Definition expando.h:38
@ ED_ALI_NUMBER
AliasView.num.
Definition expando.h:41
@ ED_ALI_NAME
Alias.addr.personal.
Definition expando.h:40
@ ED_ALI_ALIAS
Alias.name.
Definition expando.h:36
@ ED_ALI_ADDRESS
Alias.addr.
Definition expando.h:35
@ ED_ALI_COMMENT
Alias.comment.
Definition expando.h:37
@ ED_ALI_TAGGED
AliasView.tagged.
Definition expando.h:42
@ ED_ALI_TAGS
Alias.tags.
Definition expando.h:43
+ Here is the caller graph for this function:

◆ name_expando_uid_all()

const char * name_expando_uid_all ( int uid)

◆ name_expando_uid_attach()

const char * name_expando_uid_attach ( int uid)

Definition at line 157 of file names_expando.c.

158{
159 switch (uid)
160 {
165 }
166}
@ ED_ATT_NUMBER
AttachPtr.num.
Definition attach.h:55
@ ED_ATT_TREE
AttachPtr.tree.
Definition attach.h:56
@ ED_ATT_CHARSET
AttachPtr.body.
Definition attach.h:54
+ Here is the caller graph for this function:

◆ name_expando_uid_autocrypt()

const char * name_expando_uid_autocrypt ( int uid)

Definition at line 169 of file names_expando.c.

170{
171 switch (uid)
172 {
179 }
180}
@ ED_AUT_ADDRESS
AccountEntry.addr.
Definition private.h:62
@ ED_AUT_KEYID
AutocryptAccount.keyid.
Definition private.h:61
@ ED_AUT_NUMBER
AccountEntry.num.
Definition private.h:63
@ ED_AUT_ENABLED
AutocryptAccount.enabled.
Definition private.h:60
@ ED_AUT_PREFER_ENCRYPT
AutocryptAccount.prefer_encrypt.
Definition private.h:64
+ Here is the caller graph for this function:

◆ name_expando_uid_body()

const char * name_expando_uid_body ( int uid)

Definition at line 183 of file names_expando.c.

184{
185 switch (uid)
186 {
202 }
203}
@ ED_BOD_DESCRIPTION
Body.description.
Definition body.h:106
@ ED_BOD_CHARSET_CONVERT
Body.type.
Definition body.h:104
@ ED_BOD_DELETED
Body.deleted.
Definition body.h:105
@ ED_BOD_UNLINK
Body.unlink.
Definition body.h:115
@ ED_BOD_FILE_SIZE
Body.filename.
Definition body.h:110
@ ED_BOD_DISPOSITION
Body.disposition.
Definition body.h:107
@ ED_BOD_ATTACH_QUALIFIES
Body.attach_qualifies.
Definition body.h:103
@ ED_BOD_MIME_MAJOR
Body.type, Body.xtype.
Definition body.h:112
@ ED_BOD_TAGGED
Body.tagged.
Definition body.h:114
@ ED_BOD_ATTACH_COUNT
Body.attach_count.
Definition body.h:102
@ ED_BOD_FILE
Body.filename.
Definition body.h:108
@ ED_BOD_MIME_MINOR
Body.subtype.
Definition body.h:113
@ ED_BOD_FILE_DISPOSITION
Body.d_filename.
Definition body.h:109
@ ED_BOD_MIME_ENCODING
Body.encoding.
Definition body.h:111
+ Here is the caller graph for this function:

◆ name_expando_uid_compose()

const char * name_expando_uid_compose ( int uid)

Definition at line 205 of file names_expando.c.

206{
207 switch (uid)
208 {
212 }
213}
@ ED_COM_ATTACH_COUNT
ComposeAttachData, num_attachments()
Definition shared_data.h:57
@ ED_COM_ATTACH_SIZE
ComposeAttachData, cum_attachs_size()
Definition shared_data.h:58
+ Here is the caller graph for this function:

◆ name_expando_uid_compress()

const char * name_expando_uid_compress ( int uid)

Definition at line 215 of file names_expando.c.

216{
217 switch (uid)
218 {
222 }
223}
@ ED_CMP_FROM
'from' path
Definition lib.h:51
@ ED_CMP_TO
'to' path
Definition lib.h:52
+ Here is the caller graph for this function:

◆ name_expando_uid_email()

const char * name_expando_uid_email ( int uid)

Definition at line 225 of file names_expando.c.

226{
227 switch (uid)
228 {
256 }
257}
@ ED_EMA_DATE_STRF_LOCAL
Email.date_sent.
Definition email.h:143
@ ED_EMA_ATTACHMENT_COUNT
Email, mutt_count_body_parts()
Definition email.h:136
@ ED_EMA_DATE_FORMAT_LOCAL
Email.date_sent.
Definition email.h:141
@ ED_EMA_TAGS_TRANSFORMED
Email.tags, driver_tags_get_transformed()
Definition email.h:156
@ ED_EMA_THREAD_HIDDEN_COUNT
Email.collapsed, Email.num_hidden, ...
Definition email.h:158
@ ED_EMA_DATE_FORMAT
Email.date_sent.
Definition email.h:140
@ ED_EMA_THREAD_TAGS
Email.tags.
Definition email.h:160
@ ED_EMA_TAGS
Email.tags.
Definition email.h:155
@ ED_EMA_SIZE
Body.length.
Definition email.h:152
@ ED_EMA_FLAG_CHARS
Email.deleted, Email.attach_del, ...
Definition email.h:144
@ ED_EMA_THREAD_NUMBER
Email, mutt_messages_in_thread()
Definition email.h:159
@ ED_EMA_TO_CHARS
Email, User_is_recipient()
Definition email.h:161
@ ED_EMA_BODY_CHARACTERS
Body.length.
Definition email.h:137
@ ED_EMA_COMBINED_FLAGS
Email.read, Email.old, thread_is_new(), ...
Definition email.h:138
@ ED_EMA_THREAD_COUNT
Email, mutt_messages_in_thread()
Definition email.h:157
@ ED_EMA_STATUS_FLAGS
Email.deleted, Email.attach_del, ...
Definition email.h:153
@ ED_EMA_NUMBER
Email.msgno.
Definition email.h:150
@ ED_EMA_DATE_STRF
Email.date_sent, Email.zhours, Email.zminutes, Email.zoccident.
Definition email.h:142
@ ED_EMA_FROM_LIST
Envelope.to, Envelope.cc.
Definition email.h:145
@ ED_EMA_SCORE
Email.score.
Definition email.h:151
@ ED_EMA_CRYPTO_FLAGS
Email.security, SecurityFlags.
Definition email.h:139
@ ED_EMA_STRF_RECV_LOCAL
Email.received.
Definition email.h:154
@ ED_EMA_LIST_OR_SAVE_FOLDER
Envelope.to, Envelope.cc, check_for_mailing_list()
Definition email.h:148
@ ED_EMA_INDEX_HOOK
Mailbox, Email, mutt_idxfmt_hook()
Definition email.h:146
@ ED_EMA_LINES
Email.lines.
Definition email.h:147
@ ED_EMA_MESSAGE_FLAGS
Email.tagged, Email.flagged.
Definition email.h:149
+ Here is the caller graph for this function:

◆ name_expando_uid_envelope()

const char * name_expando_uid_envelope ( int uid)

Definition at line 259 of file names_expando.c.

260{
261 switch (uid)
262 {
289 }
290}
@ ED_ENV_REAL_NAME
Envelope.to (first)
Definition envelope.h:111
@ ED_ENV_SUBJECT
Envelope.subject, Envelope.disp_subj.
Definition envelope.h:116
@ ED_ENV_NEWSGROUP
Envelope.newsgroups.
Definition envelope.h:109
@ ED_ENV_INITIALS
Envelope.from (first)
Definition envelope.h:104
@ ED_ENV_FROM_FULL
Envelope.from (all)
Definition envelope.h:103
@ ED_ENV_X_COMMENT_TO
Envelope.x_comment_to.
Definition envelope.h:123
@ ED_ENV_FROM
Envelope.from (first)
Definition envelope.h:102
@ ED_ENV_LIST_ADDRESS
Envelope.to, Envelope.cc.
Definition envelope.h:105
@ ED_ENV_SPAM
Envelope.spam.
Definition envelope.h:115
@ ED_ENV_SENDER
Envelope, make_from()
Definition envelope.h:113
@ ED_ENV_TO_ALL
Envelope.to (all)
Definition envelope.h:120
@ ED_ENV_X_LABEL
Envelope.x_label.
Definition envelope.h:124
@ ED_ENV_NAME
Envelope.from (first)
Definition envelope.h:108
@ ED_ENV_CC_ALL
Envelope.cc.
Definition envelope.h:100
@ ED_ENV_ORGANIZATION
Envelope.organization.
Definition envelope.h:110
@ ED_ENV_REPLY_TO
Envelope.reply_to.
Definition envelope.h:112
@ ED_ENV_LIST_EMPTY
Envelope.to, Envelope.cc.
Definition envelope.h:106
@ ED_ENV_THREAD_X_LABEL
Envelope.x_label.
Definition envelope.h:118
@ ED_ENV_MESSAGE_ID
Envelope.message_id.
Definition envelope.h:107
@ ED_ENV_SENDER_PLAIN
Envelope, make_from()
Definition envelope.h:114
@ ED_ENV_USER_NAME
Envelope.to (first)
Definition envelope.h:122
@ ED_ENV_USERNAME
Envelope.from.
Definition envelope.h:121
@ ED_ENV_THREAD_TREE
Email.tree.
Definition envelope.h:117
@ ED_ENV_TO
Envelope.to, Envelope.cc (first)
Definition envelope.h:119
@ ED_ENV_FIRST_NAME
Envelope.from, Envelope.to, Envelope.cc.
Definition envelope.h:101
+ Here is the caller graph for this function:

◆ name_expando_uid_folder()

const char * name_expando_uid_folder ( int uid)

Definition at line 292 of file names_expando.c.

293{
294 switch (uid)
295 {
318 }
319}
@ ED_FOL_POLL
FolderFile.poll_new_mail.
Definition lib.h:136
@ ED_FOL_NOTIFY
FolderFile.notify_user.
Definition lib.h:134
@ ED_FOL_NEW_COUNT
FolderFile.nd (NntpMboxData)
Definition lib.h:132
@ ED_FOL_FILE_OWNER
FolderFile.uid.
Definition lib.h:125
@ ED_FOL_FILE_GROUP
FolderFile.gid.
Definition lib.h:123
@ ED_FOL_FILENAME
FolderFile.name.
Definition lib.h:122
@ ED_FOL_DATE_FORMAT
FolderFile.mtime.
Definition lib.h:119
@ ED_FOL_DATE_STRF
FolderFile.mtime.
Definition lib.h:120
@ ED_FOL_UNREAD_COUNT
FolderFile.msg_unread.
Definition lib.h:138
@ ED_FOL_FLAGS2
FolderFile.nd (NntpMboxData)
Definition lib.h:128
@ ED_FOL_FILE_MODE
FolderFile.move.
Definition lib.h:124
@ ED_FOL_NEW_MAIL
FolderFile.has_new_mail.
Definition lib.h:133
@ ED_FOL_FILE_SIZE
FolderFile.size.
Definition lib.h:126
@ ED_FOL_HARD_LINKS
FolderFile.nlink.
Definition lib.h:129
@ ED_FOL_DATE
FolderFile.mtime.
Definition lib.h:118
@ ED_FOL_TAGGED
FolderFile.tagged.
Definition lib.h:137
@ ED_FOL_NUMBER
Folder.num.
Definition lib.h:135
@ ED_FOL_DESCRIPTION
FolderFile.desc, FolderFile.name.
Definition lib.h:121
@ ED_FOL_MESSAGE_COUNT
FolderFile.msg_count.
Definition lib.h:130
@ ED_FOL_NEWSGROUP
FolderFile.name.
Definition lib.h:131
@ ED_FOL_FLAGS
FolderFile.nd (NntpMboxData)
Definition lib.h:127
+ Here is the caller graph for this function:

◆ name_expando_uid_global()

const char * name_expando_uid_global ( int uid)

Definition at line 321 of file names_expando.c.

322{
323 switch (uid)
324 {
335 }
336}
@ ED_GLO_CONFIG_USE_THREADS
Value of $use_threads.
Definition uid.h:36
@ ED_GLO_PADDING_EOL
Padding to end-of-line.
Definition uid.h:38
@ ED_GLO_CONFIG_SORT
Value of $sort.
Definition uid.h:34
@ ED_GLO_VERSION
NeoMutt version.
Definition uid.h:42
@ ED_GLO_PADDING_HARD
Hard Padding.
Definition uid.h:39
@ ED_GLO_PADDING_SOFT
Soft Padding.
Definition uid.h:40
@ ED_GLO_CONFIG_SORT_AUX
Value of $sort_aux.
Definition uid.h:35
@ ED_GLO_PADDING_SPACE
Space Padding.
Definition uid.h:41
@ ED_GLO_HOSTNAME
Local hostname.
Definition uid.h:37
+ Here is the caller graph for this function:

◆ name_expando_uid_history()

const char * name_expando_uid_history ( int uid)

Definition at line 338 of file names_expando.c.

339{
340 switch (uid)
341 {
345 }
346}
@ ED_HIS_MATCH
HistoryEntry.history.
Definition lib.h:82
@ ED_HIS_NUMBER
HistoryEntry.num.
Definition lib.h:83
+ Here is the caller graph for this function:

◆ name_expando_uid_index()

const char * name_expando_uid_index ( int uid)

Definition at line 348 of file names_expando.c.

349{
350 switch (uid)
351 {
370 }
371}
@ ED_IND_LIMIT_COUNT
Mailbox.vcount.
Definition shared_data.h:59
@ ED_IND_MAILBOX_PATH
Mailbox.pathbuf, Mailbox.name.
Definition shared_data.h:62
@ ED_IND_DELETED_COUNT
Mailbox.msg_deleted.
Definition shared_data.h:56
@ ED_IND_NEW_COUNT
Mailbox.msg_new.
Definition shared_data.h:65
@ ED_IND_MAILBOX_SIZE
Mailbox.size.
Definition shared_data.h:63
@ ED_IND_LIMIT_PATTERN
MailboxView.pattern.
Definition shared_data.h:60
@ ED_IND_READ_COUNT
Mailbox.msg_count, Mailbox.msg_unread.
Definition shared_data.h:69
@ ED_IND_POSTPONED_COUNT
mutt_num_postponed()
Definition shared_data.h:67
@ ED_IND_FLAGGED_COUNT
Mailbox.msg_flagged.
Definition shared_data.h:58
@ ED_IND_MESSAGE_COUNT
Mailbox.msg_count.
Definition shared_data.h:64
@ ED_IND_OLD_COUNT
Mailbox.msg_unread, Mailbox.msg_new.
Definition shared_data.h:66
@ ED_IND_READONLY
Mailbox.readonly, Mailbox.dontwrite.
Definition shared_data.h:68
@ ED_IND_UNREAD_COUNT
Mailbox.msg_unread.
Definition shared_data.h:71
@ ED_IND_TAGGED_COUNT
Mailbox.msg_tagged.
Definition shared_data.h:70
@ ED_IND_LIMIT_SIZE
MailboxView.vsize.
Definition shared_data.h:61
@ ED_IND_DESCRIPTION
Mailbox.name.
Definition shared_data.h:57
@ ED_IND_UNREAD_MAILBOXES
Mailbox, mutt_mailbox_check()
Definition shared_data.h:72
+ Here is the caller graph for this function:

◆ name_expando_uid_mailbox()

const char * name_expando_uid_mailbox ( int uid)

Definition at line 373 of file names_expando.c.

374{
375 switch (uid)
376 {
381 }
382}
@ ED_MBX_MESSAGE_COUNT
Mailbox.msg_count.
Definition mailbox.h:158
@ ED_MBX_PERCENTAGE
EmailFormatInfo.pager_progress.
Definition mailbox.h:159
@ ED_MBX_MAILBOX_NAME
Mailbox, mailbox_path()
Definition mailbox.h:157
+ Here is the caller graph for this function:

◆ name_expando_uid_menu()

const char * name_expando_uid_menu ( int uid)

Definition at line 384 of file names_expando.c.

385{
386 if (uid == ED_MEN_PERCENTAGE)
387 return "ED_MEN_PERCENTAGE";
388
389 return "UNKNOWN";
390}
@ ED_MEN_PERCENTAGE
Menu.top, ...
Definition lib.h:69
+ Here is the caller graph for this function:

◆ name_expando_uid_nntp()

const char * name_expando_uid_nntp ( int uid)

Definition at line 412 of file names_expando.c.

413{
414 switch (uid)
415 {
423 }
424}
@ ED_NTP_SCHEMA
ConnAccount.account.
Definition connaccount.h:85
@ ED_NTP_USERNAME
ConnAccount.user.
Definition connaccount.h:87
@ ED_NTP_PORT_IF
ConnAccount.port.
Definition connaccount.h:84
@ ED_NTP_SERVER
ConnAccount.account.
Definition connaccount.h:86
@ ED_NTP_ACCOUNT
ConnAccount.account.
Definition connaccount.h:82
@ ED_NTP_PORT
ConnAccount.port.
Definition connaccount.h:83
+ Here is the caller graph for this function:

◆ name_expando_uid_pattern()

const char * name_expando_uid_pattern ( int uid)

Definition at line 426 of file names_expando.c.

427{
428 switch (uid)
429 {
434 }
435}
@ ED_PAT_DESCRIPTION
PatternEntry.desc.
Definition private.h:40
@ ED_PAT_EXPRESSION
PatternEntry.expr.
Definition private.h:41
@ ED_PAT_NUMBER
PatternEntry.num.
Definition private.h:42
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp()

const char * name_expando_uid_pgp ( int uid)

Definition at line 437 of file names_expando.c.

438{
439 switch (uid)
440 {
445 }
446}
@ ED_PGP_NUMBER
PgpEntry.num.
Definition private.h:50
@ ED_PGP_USER_ID
PgpUid.addr.
Definition private.h:52
@ ED_PGP_TRUST
PgpUid, TrustFlags.
Definition private.h:51
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_cmd()

const char * name_expando_uid_pgp_cmd ( int uid)

Definition at line 448 of file names_expando.c.

449{
450 switch (uid)
451 {
458 }
459}
@ ED_PGC_KEY_IDS
PgpCommandContext.ids.
Definition pgp.h:60
@ ED_PGC_FILE_SIGNATURE
PgpCommandContext.sig_fname.
Definition pgp.h:59
@ ED_PGC_NEED_PASS
PgpCommandContext.need_passphrase.
Definition pgp.h:61
@ ED_PGC_SIGN_AS
PgpCommandContext.signas.
Definition pgp.h:62
@ ED_PGC_FILE_MESSAGE
PgpCommandContext.fname.
Definition pgp.h:58
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_key()

const char * name_expando_uid_pgp_key ( int uid)

Definition at line 461 of file names_expando.c.

462{
463 switch (uid)
464 {
480 }
481}
@ ED_PGK_KEY_CAPABILITIES
PgpKeyInfo.flags, pgp_key_abilities()
Definition pgplib.h:71
@ ED_PGK_KEY_FINGERPRINT
PgpKeyInfo.fingerprint.
Definition pgplib.h:72
@ ED_PGK_PKEY_LENGTH
pgp_principal_key(), PgpKeyInfo.keylen
Definition pgplib.h:81
@ ED_PGK_PKEY_ALGORITHM
pgp_principal_key(), PgpKeyInfo.algorithm
Definition pgplib.h:76
@ ED_PGK_DATE
PgpKeyInfo.gen_time.
Definition pgplib.h:69
@ ED_PGK_PKEY_FINGERPRINT
pgp_principal_key(), PgpKeyInfo.fingerprint
Definition pgplib.h:78
@ ED_PGK_KEY_ID
PgpKeyInfo, pgp_this_keyid()
Definition pgplib.h:74
@ ED_PGK_PROTOCOL
PgpKeyInfo.
Definition pgplib.h:82
@ ED_PGK_PKEY_CAPABILITIES
pgp_principal_key(), PgpKeyInfo.flags, pgp_key_abilities()
Definition pgplib.h:77
@ ED_PGK_KEY_FLAGS
PgpKeyInfo.kflags, pgp_flags()
Definition pgplib.h:73
@ ED_PGK_PKEY_ID
pgp_principal_key(), PgpKeyInfo, pgp_this_keyid()
Definition pgplib.h:80
@ ED_PGK_KEY_ALGORITHM
PgpKeyInfo.algorithm.
Definition pgplib.h:70
@ ED_PGK_KEY_LENGTH
PgpKeyInfo.keylen.
Definition pgplib.h:75
@ ED_PGK_PKEY_FLAGS
pgp_principal_key(), PgpKeyInfo.kflags, pgp_flags()
Definition pgplib.h:79
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_key_gpgme()

const char * name_expando_uid_pgp_key_gpgme ( int uid)

◆ name_expando_uid_sidebar()

const char * name_expando_uid_sidebar ( int uid)

Definition at line 483 of file names_expando.c.

484{
485 switch (uid)
486 {
503 }
504}
@ ED_SID_FLAGGED_COUNT
Mailbox.msg_flagged.
Definition private.h:63
@ ED_SID_READ_COUNT
Mailbox.msg_count, Mailbox.msg_unread.
Definition private.h:72
@ ED_SID_DESCRIPTION
Mailbox.name.
Definition private.h:61
@ ED_SID_NEW_MAIL
Mailbox.has_new.
Definition private.h:68
@ ED_SID_UNSEEN_COUNT
Mailbox.msg_new.
Definition private.h:75
@ ED_SID_POLL
Mailbox.poll_new_mail.
Definition private.h:71
@ ED_SID_OLD_COUNT
Mailbox.msg_unread, Mailbox.msg_new.
Definition private.h:70
@ ED_SID_MESSAGE_COUNT
Mailbox.msg_count.
Definition private.h:65
@ ED_SID_LIMITED_COUNT
Mailbox.vcount.
Definition private.h:64
@ ED_SID_UNREAD_COUNT
Mailbox.msg_unread.
Definition private.h:74
@ ED_SID_TAGGED_COUNT
Mailbox.msg_tagged.
Definition private.h:73
@ ED_SID_NOTIFY
Mailbox.notify_user.
Definition private.h:69
@ ED_SID_NAME
SbEntry.box.
Definition private.h:66
@ ED_SID_DELETED_COUNT
Mailbox.msg_deleted.
Definition private.h:60
@ ED_SID_FLAGGED
Mailbox.msg_flagged.
Definition private.h:62
+ Here is the caller graph for this function:

◆ name_expando_uid_smime_cmd()

const char * name_expando_uid_smime_cmd ( int uid)

Definition at line 506 of file names_expando.c.

507{
508 switch (uid)
509 {
519 }
520}
@ ED_SMI_MESSAGE_FILE
SmimeCommandContext.fname.
Definition smime.h:80
@ ED_SMI_ALGORITHM
SmimeCommandContext.cryptalg.
Definition smime.h:74
@ ED_SMI_SIGNATURE_FILE
SmimeCommandContext.sig_fname.
Definition smime.h:81
@ ED_SMI_DIGEST_ALGORITHM
SmimeCommandContext.digestalg.
Definition smime.h:77
@ ED_SMI_CERTIFICATE_IDS
SmimeCommandContext.certificates.
Definition smime.h:75
@ ED_SMI_KEY
SmimeCommandContext.key.
Definition smime.h:79
@ ED_SMI_INTERMEDIATE_IDS
SmimeCommandContext.intermediates.
Definition smime.h:78
@ ED_SMI_CERTIFICATE_PATH
Path of Smime certificates.
Definition smime.h:76
+ Here is the caller graph for this function:

◆ name_format_justify()

const char * name_format_justify ( enum FormatJustify just)

Definition at line 584 of file names_expando.c.

585{
586 switch (just)
587 {
592 }
593}
@ JUSTIFY_RIGHT
Right justify the text.
Definition format.h:36
@ JUSTIFY_LEFT
Left justify the text.
Definition format.h:34
@ JUSTIFY_CENTER
Centre the text.
Definition format.h:35
+ Here is the caller graph for this function:

◆ dump_graphviz()

void dump_graphviz ( const char * title,
const struct MailboxView * mv )

Dump NeoMutt data structures to GraphViz format.

Parameters
titleOptional title for the output file
mvMailbox view to dump

Definition at line 1072 of file graphviz.c.

1073{
1074 char name[256] = { 0 };
1075 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1076
1077 time_t now = time(NULL);
1078 if (title)
1079 {
1080 char date[128];
1081 mutt_date_localtime_format(date, sizeof(date), "%T", now);
1082 snprintf(name, sizeof(name), "%s-%s.gv", date, title);
1083 }
1084 else
1085 {
1086 mutt_date_localtime_format(name, sizeof(name), "%T.gv", now);
1087 }
1088
1089 umask(022);
1090 FILE *fp = fopen(name, "w");
1091 if (!fp)
1092 return;
1093
1094 dot_graph_header(fp);
1095
1096#ifndef GV_HIDE_NEOMUTT
1097 dot_node(fp, NeoMutt, "NeoMutt", "#ffa500");
1098 struct Account **ap = ARRAY_FIRST(&NeoMutt->accounts);
1099 if (ap && *ap)
1100 {
1101 dot_add_link(&links, NeoMutt, *ap, "NeoMutt->accounts", NULL, false, NULL);
1102 }
1103#ifndef GV_HIDE_CONFIG
1104 dot_config(fp, (const char *) NeoMutt->sub, 0, NeoMutt->sub, &links);
1105 dot_add_link(&links, NeoMutt, NeoMutt->sub, "NeoMutt Config", NULL, false, NULL);
1106 struct Buffer *buf = buf_pool_get();
1107 char obj1[64] = { 0 };
1108 char obj2[64] = { 0 };
1109 dot_ptr_name(obj1, sizeof(obj1), NeoMutt);
1110 dot_ptr_name(obj2, sizeof(obj2), NeoMutt->sub);
1111 buf_printf(buf, "{ rank=same %s %s }", obj1, obj2);
1112 mutt_list_insert_tail(&links, buf_strdup(buf));
1113 buf_pool_release(&buf);
1114#endif
1115#endif
1116
1117 dot_account_array(fp, &NeoMutt->accounts, &links);
1118
1119#ifndef GV_HIDE_MVIEW
1120 if (mv)
1121 dot_mview(fp, mv, &links);
1122
1123#ifndef GV_HIDE_NEOMUTT
1124 /* Globals */
1125 fprintf(fp, "\t{ rank=same ");
1126 if (mv)
1127 {
1128 dot_ptr_name(name, sizeof(name), mv);
1129 fprintf(fp, "%s ", name);
1130 }
1131 dot_ptr_name(name, sizeof(name), NeoMutt);
1132 fprintf(fp, "%s ", name);
1133 fprintf(fp, "}\n");
1134#endif
1135#endif
1136
1137 fprintf(fp, "\t{ rank=same ");
1139 {
1140 struct Account *a = *ap;
1141
1142#ifdef GV_HIDE_MBOX
1143 if (a->type == MUTT_MBOX)
1144 continue;
1145#endif
1146 dot_ptr_name(name, sizeof(name), a);
1147 fprintf(fp, "%s ", name);
1148 }
1149 fprintf(fp, "}\n");
1150
1151 dot_graph_footer(fp, &links);
1152 fclose(fp);
1153 mutt_list_free(&links);
1154}
#define ARRAY_FIRST(head)
Convenience method to get the first element.
Definition array.h:136
#define ARRAY_FOREACH(elem, head)
Iterate over all elements of the array.
Definition array.h:223
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Definition buffer.c:161
char * buf_strdup(const struct Buffer *buf)
Copy a Buffer's string.
Definition buffer.c:571
@ MUTT_MBOX
'mbox' Mailbox type
Definition mailbox.h:44
void dot_add_link(struct ListHead *links, const void *src, const void *dst, const char *label, const char *short_label, bool back, const char *colour)
Add a link between two objects in GraphViz.
Definition graphviz.c:275
void dot_ptr_name(char *buf, size_t buflen, const void *ptr)
Generate GraphViz object name from pointer.
Definition graphviz.c:236
void dot_graph_header(FILE *fp)
Write GraphViz graph header.
Definition graphviz.c:307
void dot_account_array(FILE *fp, struct AccountArray *aa, struct ListHead *links)
Dump an array of accounts.
Definition graphviz.c:1027
void dot_config(FILE *fp, const char *name, int type, struct ConfigSubset *sub, struct ListHead *links)
Definition graphviz.c:448
void dot_mview(FILE *fp, const struct MailboxView *mv, struct ListHead *links)
Dump a mailbox view.
Definition graphviz.c:1054
void dot_graph_footer(FILE *fp, struct ListHead *links)
Write GraphViz graph footer with links.
Definition graphviz.c:335
void dot_node(FILE *fp, void *ptr, const char *name, const char *colour)
Write a simple GraphViz node.
Definition graphviz.c:388
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
Definition list.c:65
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
Definition list.c:123
size_t mutt_date_localtime_format(char *buf, size_t buflen, const char *format, time_t t)
Format localtime.
Definition date.c:952
#define STAILQ_HEAD_INITIALIZER(head)
Definition queue.h:324
A group of associated Mailboxes.
Definition account.h:36
enum MailboxType type
Type of Mailboxes this Account contains.
Definition account.h:37
char * name
Name of Account.
Definition account.h:38
Container for Accounts, Notifications.
Definition neomutt.h:41
struct AccountArray accounts
All Accounts.
Definition neomutt.h:50
struct ConfigSubset * sub
Inherited config items.
Definition neomutt.h:49
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_graphviz_attach_ctx()

void dump_graphviz_attach_ctx ( const struct AttachCtx * actx)

Definition at line 1776 of file graphviz.c.

1777{
1778 char name[256] = { 0 };
1779 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1780
1781 time_t now = time(NULL);
1782 mutt_date_localtime_format(name, sizeof(name), "%T-actx.gv", now);
1783
1784 umask(022);
1785 FILE *fp = fopen(name, "w");
1786 if (!fp)
1787 return;
1788
1789 dot_graph_header(fp);
1790
1791 dot_attach_ctx(fp, actx, &links);
1792
1793 dot_graph_footer(fp, &links);
1794 fclose(fp);
1795 mutt_list_free(&links);
1796}
void dot_attach_ctx(FILE *fp, const struct AttachCtx *actx, struct ListHead *links)
Definition graphviz.c:1742
+ Here is the call graph for this function:

◆ dump_graphviz_body()

void dump_graphviz_body ( const struct Body * b)

Definition at line 1586 of file graphviz.c.

1587{
1588 char name[256] = { 0 };
1589 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1590
1591 time_t now = time(NULL);
1592 mutt_date_localtime_format(name, sizeof(name), "%T-email.gv", now);
1593
1594 umask(022);
1595 FILE *fp = fopen(name, "w");
1596 if (!fp)
1597 return;
1598
1599 dot_graph_header(fp);
1600
1601 dot_body(fp, b, &links, true);
1602
1603 dot_graph_footer(fp, &links);
1604 fclose(fp);
1605 mutt_list_free(&links);
1606}
void dot_body(FILE *fp, const struct Body *b, struct ListHead *links, bool link_next)
Definition graphviz.c:1226
+ Here is the call graph for this function:

◆ dump_graphviz_email()

void dump_graphviz_email ( const struct Email * e,
const char * title )

Definition at line 1608 of file graphviz.c.

1609{
1610 char name[256] = { 0 };
1611 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1612
1613 if (!title)
1614 title = "email";
1615
1616 char format[64];
1617 snprintf(format, sizeof(format), "%%T-%s.gv", title);
1618
1619 time_t now = time(NULL);
1620 mutt_date_localtime_format(name, sizeof(name), format, now);
1621
1622 umask(022);
1623 FILE *fp = fopen(name, "w");
1624 if (!fp)
1625 return;
1626
1627 dot_graph_header(fp);
1628
1629 dot_email(fp, e, &links);
1630
1631 dot_graph_footer(fp, &links);
1632 fclose(fp);
1633 mutt_list_free(&links);
1634}
void dot_email(FILE *fp, const struct Email *e, struct ListHead *links)
Definition graphviz.c:1463
+ Here is the call graph for this function:

◆ dump_graphviz_expando_node()

void dump_graphviz_expando_node ( const struct ExpandoNode * node)

Definition at line 2217 of file graphviz.c.

2218{
2219 char name[256] = { 0 };
2220 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
2221
2222 time_t now = time(NULL);
2223 mutt_date_localtime_format(name, sizeof(name), "%T-expando.gv", now);
2224
2225 umask(022);
2226 FILE *fp = fopen(name, "w");
2227 if (!fp)
2228 return;
2229
2230 dot_graph_header(fp);
2231
2232 dot_expando_node(fp, node, &links);
2233
2234 dot_graph_footer(fp, &links);
2235 fclose(fp);
2236 mutt_list_free(&links);
2237}
void dot_expando_node(FILE *fp, const struct ExpandoNode *node, struct ListHead *links)
Definition graphviz.c:2183
+ Here is the call graph for this function:

◆ dump_menu_binds()

void dump_menu_binds ( bool brief)

Dump all menu bindings.

Parameters
briefTrue for brief output

Definition at line 260 of file keymap.c.

261{
262 struct MenuDefinition **mdp = NULL;
264 {
265 struct MenuDefinition *md = *mdp;
266
267 struct SubMenu *sm = *ARRAY_FIRST(&md->submenus);
268
269 int count = 0;
270 struct Keymap *km = NULL;
271 STAILQ_FOREACH(km, &sm->keymaps, entries)
272 {
273 count++;
274 }
275
276 mutt_debug(LL_DEBUG1, "Menu %s (%s/%d) - (%d bindings):\n", md->name,
277 name_menu_type(md->id), md->id, count);
278 dump_submenu_bindings(md, sm, brief);
279 mutt_debug(LL_DEBUG1, "\n");
280 }
281}
void dump_submenu_bindings(const struct MenuDefinition *md, const struct SubMenu *sm, bool brief)
Dump submenu bindings.
Definition keymap.c:130
const char * name_menu_type(enum MenuType mt)
Get the name of a menu type.
Definition names.c:275
struct MenuDefinitionArray MenuDefs
All the registered Menus.
Definition init.c:42
A keyboard mapping.
Definition keymap.h:43
Functions for a Dialog or Window.
Definition menu.h:80
const char * name
Menu name, e.g. "alias".
Definition menu.h:82
int id
Menu ID, e.g. MENU_ALIAS.
Definition menu.h:81
struct SubMenuPArray submenus
Parts making up the Menu.
Definition menu.h:83
Collection of related functions.
Definition menu.h:68
struct KeymapList keymaps
All keybindings.
Definition menu.h:71
+ Here is the call graph for this function:

◆ dump_menu_funcs()

void dump_menu_funcs ( bool brief)

Dump all menu functions.

Parameters
briefTrue for brief output

Definition at line 246 of file keymap.c.

247{
248 struct SubMenuIdArray smia = ARRAY_HEAD_INITIALIZER;
249
250 dump_submenus(brief, &smia);
251 dump_menus(&smia);
252
253 ARRAY_FREE(&smia);
254}
#define ARRAY_FREE(head)
Release all memory.
Definition array.h:209
#define ARRAY_HEAD_INITIALIZER
Static initializer for arrays.
Definition array.h:58
void dump_menus(struct SubMenuIdArray *smia)
Dump all menus.
Definition keymap.c:199
void dump_submenus(bool brief, struct SubMenuIdArray *smia)
Dump all submenus.
Definition keymap.c:172
+ Here is the call graph for this function:

◆ name_color_id()

const char * name_color_id ( int cid)

Get the name of a color ID.

Parameters
cidColor ID
Return values
strName of the color

Definition at line 435 of file names.c.

436{
437 if (cid < 0)
438 return "UNSET";
439
440 switch (cid)
441 {
504 }
505}
@ MT_COLOR_SIDEBAR_SPOOL_FILE
$spool_file (Spool mailbox)
Definition color.h:75
@ MT_COLOR_SIDEBAR_DIVIDER
Line dividing sidebar from the index/pager.
Definition color.h:69
@ MT_COLOR_MARKERS
Pager: markers, line continuation.
Definition color.h:51
@ MT_COLOR_COMPOSE_SECURITY_ENCRYPT
Mail will be encrypted.
Definition color.h:43
@ MT_COLOR_MESSAGE
Informational message.
Definition color.h:52
@ MT_COLOR_INDEX_AUTHOR
Index: author field.
Definition color.h:87
@ MT_COLOR_MAX
Definition color.h:97
@ MT_COLOR_QUOTED0
Pager: quoted text, level 0.
Definition color.h:57
@ MT_COLOR_SIDEBAR_NEW
Mailbox with new mail.
Definition color.h:73
@ MT_COLOR_HEADER
Message headers (takes a pattern)
Definition color.h:48
@ MT_COLOR_STATUS
Status bar (takes a pattern)
Definition color.h:78
@ MT_COLOR_SIDEBAR_UNREAD
Mailbox with unread mail.
Definition color.h:76
@ MT_COLOR_INDEX_SIZE
Index: size field.
Definition color.h:93
@ MT_COLOR_INDICATOR
Selected item in list.
Definition color.h:49
@ MT_COLOR_STRIPE_EVEN
Stripes: even lines of the Help Page.
Definition color.h:79
@ MT_COLOR_ERROR
Error message.
Definition color.h:46
@ MT_COLOR_NONE
No colour.
Definition color.h:36
@ MT_COLOR_COMPOSE_SECURITY_NONE
Mail will not be encrypted or signed.
Definition color.h:44
@ MT_COLOR_SIDEBAR_ORDINARY
Mailbox with no new or flagged messages.
Definition color.h:74
@ MT_COLOR_QUOTED1
Pager: quoted text, level 1.
Definition color.h:58
@ MT_COLOR_INDEX_TAGS
Index: tags field (g, J)
Definition color.h:96
@ MT_COLOR_QUOTED3
Pager: quoted text, level 3.
Definition color.h:60
@ MT_COLOR_BOLD
Bold text.
Definition color.h:40
@ MT_COLOR_INDEX_SUBJECT
Index: subject field.
Definition color.h:94
@ MT_COLOR_BODY
Pager: highlight body of message (takes a pattern)
Definition color.h:39
@ MT_COLOR_INDEX_DATE
Index: date field.
Definition color.h:89
@ MT_COLOR_QUOTED6
Pager: quoted text, level 6.
Definition color.h:63
@ MT_COLOR_PROGRESS
Progress bar.
Definition color.h:55
@ MT_COLOR_COMPOSE_SECURITY_BOTH
Mail will be encrypted and signed.
Definition color.h:42
@ MT_COLOR_QUOTED8
Pager: quoted text, level 8.
Definition color.h:65
@ MT_COLOR_SIDEBAR_BACKGROUND
Background colour for the Sidebar.
Definition color.h:68
@ MT_COLOR_INDEX_TAG
Index: tag field (G)
Definition color.h:95
@ MT_COLOR_HDRDEFAULT
Header default colour.
Definition color.h:47
@ MT_COLOR_OPTIONS
Options in prompt.
Definition color.h:54
@ MT_COLOR_TREE
Index: tree-drawing characters.
Definition color.h:82
@ MT_COLOR_QUOTED7
Pager: quoted text, level 7.
Definition color.h:64
@ MT_COLOR_NORMAL
Plain text.
Definition color.h:53
@ MT_COLOR_ATTACH_HEADERS
MIME attachment test (takes a pattern)
Definition color.h:38
@ MT_COLOR_SEARCH
Pager: search matches.
Definition color.h:67
@ MT_COLOR_COMPOSE_SECURITY_SIGN
Mail will be signed.
Definition color.h:45
@ MT_COLOR_INDEX_LABEL
Index: label field.
Definition color.h:91
@ MT_COLOR_ITALIC
Italic text.
Definition color.h:50
@ MT_COLOR_QUOTED4
Pager: quoted text, level 4.
Definition color.h:61
@ MT_COLOR_STRIPE_ODD
Stripes: odd lines of the Help Page.
Definition color.h:80
@ MT_COLOR_PROMPT
Question/user input.
Definition color.h:56
@ MT_COLOR_COMPOSE_HEADER
Header labels, e.g. From:
Definition color.h:41
@ MT_COLOR_INDEX
Index: default colour.
Definition color.h:86
@ MT_COLOR_QUOTED9
Pager: quoted text, level 9.
Definition color.h:66
@ MT_COLOR_QUOTED2
Pager: quoted text, level 2.
Definition color.h:59
@ MT_COLOR_ATTACHMENT
MIME attachments text (entire line)
Definition color.h:37
@ MT_COLOR_SIDEBAR_INDICATOR
Current open mailbox.
Definition color.h:72
@ MT_COLOR_SIDEBAR_HIGHLIGHT
Select cursor.
Definition color.h:71
@ MT_COLOR_WARNING
Warning messages.
Definition color.h:84
@ MT_COLOR_UNDERLINE
Underlined text.
Definition color.h:83
@ MT_COLOR_INDEX_NUMBER
Index: index number.
Definition color.h:92
@ MT_COLOR_SIGNATURE
Pager: signature lines.
Definition color.h:77
@ MT_COLOR_INDEX_FLAGS
Index: flags field.
Definition color.h:90
@ MT_COLOR_QUOTED5
Pager: quoted text, level 5.
Definition color.h:62
@ MT_COLOR_SIDEBAR_FLAGGED
Mailbox with flagged messages.
Definition color.h:70
@ MT_COLOR_TILDE
Pager: empty lines after message.
Definition color.h:81
@ MT_COLOR_INDEX_COLLAPSED
Index: number of messages in collapsed thread.
Definition color.h:88
#define DEBUG_NAME(NAME)
Definition names.c:39
+ Here is the caller graph for this function:

◆ name_command_id()

const char * name_command_id ( enum CommandId id)

Get the name of a Command id.

Parameters
idCommand id enum
Return values
strName of the Command id

Definition at line 52 of file names.c.

53{
54 switch (id)
55 {
146 }
147}
@ CMD_CLOSE_HOOK
:close-hook
Definition command.h:70
@ CMD_MIME_LOOKUP
:mime-lookup
Definition command.h:95
@ CMD_SPAM
:spam
Definition command.h:114
@ CMD_SUBSCRIBE
:subscribe
Definition command.h:117
@ CMD_UNSUBSCRIBE
:unsubscribe
Definition command.h:145
@ CMD_UNALIAS
:unalias
Definition command.h:123
@ CMD_IGNORE
:ignore
Definition command.h:85
@ CMD_GROUP
:group
Definition command.h:79
@ CMD_SEND_HOOK
:send-hook
Definition command.h:107
@ CMD_CD
:cd
Definition command.h:68
@ CMD_TAG_TRANSFORMS
:tag-transforms
Definition command.h:120
@ CMD_FCC_SAVE_HOOK
:fcc-save-hook
Definition command.h:76
@ CMD_LUA_SOURCE
:lua-source
Definition command.h:89
@ CMD_ICONV_HOOK
:iconv-hook
Definition command.h:82
@ CMD_ALIAS
:alias
Definition command.h:61
@ CMD_IFNDEF
:ifndef
Definition command.h:84
@ CMD_UNCOLOR
:uncolor
Definition command.h:129
@ CMD_COLOR
:color
Definition command.h:71
@ CMD_EXEC
:exec
Definition command.h:74
@ CMD_INDEX_FORMAT_HOOK
:index-format-hook
Definition command.h:86
@ CMD_UNMACRO
:unmacro
Definition command.h:135
@ CMD_UNSUBJECT_REGEX
:unsubject-regex
Definition command.h:144
@ CMD_SIDEBAR_PIN
:sidebar-pin
Definition command.h:111
@ CMD_SCORE
:score
Definition command.h:105
@ CMD_SHUTDOWN_HOOK
:shutdown-hook
Definition command.h:110
@ CMD_SETENV
:setenv
Definition command.h:109
@ CMD_IFDEF
:ifdef
Definition command.h:83
@ CMD_UNSUBSCRIBE_FROM
:unsubscribe-from
Definition command.h:146
@ CMD_MACRO
:macro
Definition command.h:90
@ CMD_MAILTO_ALLOW
:mailto-allow
Definition command.h:92
@ CMD_MY_HEADER
:my-header
Definition command.h:97
@ CMD_SOURCE
:source
Definition command.h:113
@ CMD_FCC_HOOK
:fcc-hook
Definition command.h:75
@ CMD_SIDEBAR_UNPIN
:sidebar-unpin
Definition command.h:112
@ CMD_LISTS
:lists
Definition command.h:87
@ CMD_MESSAGE_HOOK
:message-hook
Definition command.h:94
@ CMD_SEND2_HOOK
:send2-hook
Definition command.h:106
@ CMD_ATTACHMENTS
:attachments
Definition command.h:65
@ CMD_ECHO
:echo
Definition command.h:73
@ CMD_SUBSCRIBE_TO
:subscribe-to
Definition command.h:118
@ CMD_UNMIME_LOOKUP
:unmime-lookup
Definition command.h:138
@ CMD_PUSH
:push
Definition command.h:101
@ CMD_REPLY_HOOK
:reply-hook
Definition command.h:102
@ CMD_VERSION
:version
Definition command.h:147
@ CMD_LUA
:lua
Definition command.h:88
@ CMD_STARTUP_HOOK
:startup-hook
Definition command.h:115
@ CMD_AUTO_VIEW
:auto-view
Definition command.h:66
@ CMD_UNALTERNATIVE_ORDER
:unalternative-order
Definition command.h:125
@ CMD_UNAUTO_VIEW
:unauto-view
Definition command.h:127
@ CMD_CHARSET_HOOK
:charset-hook
Definition command.h:69
@ CMD_UNHEADER_ORDER
:unheader-order
Definition command.h:131
@ CMD_HOOKS
:hooks
Definition command.h:81
@ CMD_NOSPAM
:nospam
Definition command.h:99
@ CMD_UNGROUP
:ungroup
Definition command.h:130
@ CMD_NONE
No Command.
Definition command.h:59
@ CMD_TAG_FORMATS
:tag-formats
Definition command.h:119
@ CMD_MAILBOXES
:mailboxes
Definition command.h:91
@ CMD_ALTERNATES
:alternates
Definition command.h:62
@ CMD_UNIGNORE
:unignore
Definition command.h:133
@ CMD_UNLISTS
:unlists
Definition command.h:134
@ CMD_SAVE_HOOK
:save-hook
Definition command.h:104
@ CMD_FINISH
:finish
Definition command.h:77
@ CMD_ALTERNATIVE_ORDER
:alternative-order
Definition command.h:63
@ CMD_TIMEOUT_HOOK
:timeout-hook
Definition command.h:121
@ CMD_ACCOUNT_HOOK
:account-hook
Definition command.h:60
@ CMD_BIND
:bind
Definition command.h:67
@ CMD_MONO
:mono
Definition command.h:96
@ CMD_CRYPT_HOOK
:crypt-hook
Definition command.h:72
@ CMD_UNSETENV
:unsetenv
Definition command.h:143
@ CMD_UNALTERNATES
:unalternates
Definition command.h:124
@ CMD_MBOX_HOOK
:mbox-hook
Definition command.h:93
@ CMD_UNSCORE
:unscore
Definition command.h:141
@ CMD_UNMAILBOXES
:unmailboxes
Definition command.h:136
@ CMD_UNATTACHMENTS
:unattachments
Definition command.h:126
@ CMD_FOLDER_HOOK
:folder-hook
Definition command.h:78
@ CMD_UNMONO
:unmono
Definition command.h:139
@ CMD_SUBJECT_REGEX
:subject-regex
Definition command.h:116
@ CMD_HEADER_ORDER
:header-order
Definition command.h:80
@ CMD_UNHOOK
:unhook
Definition command.h:132
@ CMD_UNBIND
:unbind
Definition command.h:128
@ CMD_UNMAILTO_ALLOW
:unmailto-allow
Definition command.h:137
@ CMD_RESET
:reset
Definition command.h:103
@ CMD_NAMED_MAILBOXES
:named-mailboxes
Definition command.h:98
@ CMD_TOGGLE
:toggle
Definition command.h:122
@ CMD_UNSET
:unset
Definition command.h:142
@ CMD_SET
:set
Definition command.h:108
@ CMD_OPEN_HOOK
:open-hook
Definition command.h:100
@ CMD_APPEND_HOOK
:append-hook
Definition command.h:64
@ CMD_UNMY_HEADER
:unmy-header
Definition command.h:140
+ Here is the caller graph for this function:

◆ name_content_disposition()

const char * name_content_disposition ( enum ContentDisposition disp)

Get the name of a content disposition.

Parameters
dispContent disposition enum
Return values
strName of the content disposition

Definition at line 197 of file names.c.

198{
199 switch (disp)
200 {
206 }
207}
@ DISP_ATTACH
Content is attached.
Definition mime.h:63
@ DISP_INLINE
Content is inline.
Definition mime.h:62
@ DISP_NONE
No preferred disposition.
Definition mime.h:65
@ DISP_FORM_DATA
Content is form-data.
Definition mime.h:64
+ Here is the caller graph for this function:

◆ name_content_encoding()

const char * name_content_encoding ( enum ContentEncoding enc)

Get the name of a content encoding.

Parameters
encContent encoding enum
Return values
strName of the content encoding

Definition at line 177 of file names.c.

178{
179 switch (enc)
180 {
189 }
190}
@ ENC_7BIT
7-bit text
Definition mime.h:49
@ ENC_UUENCODED
UUEncoded text.
Definition mime.h:54
@ ENC_OTHER
Encoding unknown.
Definition mime.h:48
@ ENC_BINARY
Binary.
Definition mime.h:53
@ ENC_BASE64
Base-64 encoded text.
Definition mime.h:52
@ ENC_8BIT
8-bit text
Definition mime.h:50
@ ENC_QUOTED_PRINTABLE
Quoted-printable text.
Definition mime.h:51
+ Here is the caller graph for this function:

◆ name_content_type()

const char * name_content_type ( enum ContentType type)

Get the name of a content type.

Parameters
typeContent type enum
Return values
strName of the content type

Definition at line 154 of file names.c.

155{
156 switch (type)
157 {
169 }
170}
@ TYPE_AUDIO
Type: 'audio/*'.
Definition mime.h:32
@ TYPE_IMAGE
Type: 'image/*'.
Definition mime.h:34
@ TYPE_OTHER
Unknown Content-Type.
Definition mime.h:31
@ TYPE_MESSAGE
Type: 'message/*'.
Definition mime.h:35
@ TYPE_MODEL
Type: 'model/*'.
Definition mime.h:36
@ TYPE_APPLICATION
Type: 'application/*'.
Definition mime.h:33
@ TYPE_TEXT
Type: 'text/*'.
Definition mime.h:38
@ TYPE_ANY
Type: '' or '.'.
Definition mime.h:40
@ TYPE_VIDEO
Type: 'video/*'.
Definition mime.h:39
+ Here is the caller graph for this function:

◆ name_mailbox_type()

const char * name_mailbox_type ( enum MailboxType type)

Get the name of a mailbox type.

Parameters
typeMailbox type enum
Return values
strName of the mailbox type

Definition at line 250 of file names.c.

251{
252 switch (type)
253 {
267 }
268}
@ MUTT_NOTMUCH
'Notmuch' (virtual) Mailbox type
Definition mailbox.h:50
@ MUTT_MMDF
'mmdf' Mailbox type
Definition mailbox.h:45
@ MUTT_MAILBOX_ERROR
Error occurred examining Mailbox.
Definition mailbox.h:42
@ MUTT_POP
'POP3' Mailbox type
Definition mailbox.h:51
@ MUTT_MH
'MH' Mailbox type
Definition mailbox.h:46
@ MUTT_NNTP
'NNTP' (Usenet) Mailbox type
Definition mailbox.h:48
@ MUTT_IMAP
'IMAP' Mailbox type
Definition mailbox.h:49
@ MUTT_MAILBOX_ANY
Match any Mailbox type.
Definition mailbox.h:41
@ MUTT_COMPRESSED
Compressed file Mailbox type.
Definition mailbox.h:52
@ MUTT_UNKNOWN
Mailbox wasn't recognised.
Definition mailbox.h:43
@ MUTT_MAILDIR
'Maildir' Mailbox type
Definition mailbox.h:47
+ Here is the caller graph for this function:

◆ name_menu_type()

const char * name_menu_type ( enum MenuType mt)

Get the name of a menu type.

Parameters
mtMenu type enum
Return values
strName of the menu type

Definition at line 275 of file names.c.

276{
277 switch (mt)
278 {
281#ifdef USE_AUTOCRYPT
283#endif
297 }
298}
@ MENU_INDEX
Index panel (list of emails)
Definition type.h:44
@ MENU_DIALOG
Simple Dialog.
Definition type.h:41
@ MENU_ATTACH
Select an attachment.
Definition type.h:35
@ MENU_QUERY
Select from results of external query.
Definition type.h:48
@ MENU_BROWSER
General file/mailbox browser.
Definition type.h:39
@ MENU_AUTOCRYPT
Autocrypt Account menu.
Definition type.h:37
@ MENU_COMPOSE
Compose an email.
Definition type.h:40
@ MENU_PGP
PGP encryption menu.
Definition type.h:46
@ MENU_GENERIC
Generic selection list.
Definition type.h:43
@ MENU_PAGER
Pager pager (email viewer)
Definition type.h:45
@ MENU_SMIME
SMIME encryption menu.
Definition type.h:50
@ MENU_MAX
Definition type.h:51
@ MENU_EDITOR
Text entry area.
Definition type.h:42
@ MENU_POSTPONE
Select a postponed email.
Definition type.h:47
@ MENU_ALIAS
Select an email address by its alias.
Definition type.h:34
+ Here is the caller graph for this function:

◆ name_notify_config()

const char * name_notify_config ( int id)

Get the name of a config notification type.

Parameters
idNotification subtype
Return values
strName of the notification

Definition at line 321 of file names.c.

322{
323 switch (id)
324 {
329 }
330}
@ NT_CONFIG_DELETED
Config item has been deleted.
Definition subset.h:63
@ NT_CONFIG_RESET
Config item has been reset to initial, or parent, value.
Definition subset.h:62
@ NT_CONFIG_SET
Config item has been set.
Definition subset.h:61
+ Here is the caller graph for this function:

◆ name_notify_global()

const char * name_notify_global ( int id)

Get the name of a global notification type.

Parameters
idNotification subtype
Return values
strName of the notification

Definition at line 305 of file names.c.

306{
307 switch (id)
308 {
313 }
314}
@ NT_GLOBAL_STARTUP
NeoMutt is initialised.
Definition neomutt.h:70
@ NT_GLOBAL_COMMAND
A NeoMutt command.
Definition neomutt.h:72
@ NT_GLOBAL_SHUTDOWN
NeoMutt is about to close.
Definition neomutt.h:71
+ Here is the caller graph for this function:

◆ name_notify_mailbox()

const char * name_notify_mailbox ( int id)

Get the name of a mailbox notification type.

Parameters
idNotification subtype
Return values
strName of the notification

Definition at line 337 of file names.c.

338{
339 switch (id)
340 {
350 }
351}
@ NT_MAILBOX_UNTAG
Clear the 'last-tagged' pointer.
Definition mailbox.h:182
@ NT_MAILBOX_CHANGE
Mailbox has been changed.
Definition mailbox.h:175
@ NT_MAILBOX_RESORT
Email list needs resorting.
Definition mailbox.h:180
@ NT_MAILBOX_DELETE
Mailbox is about to be deleted.
Definition mailbox.h:173
@ NT_MAILBOX_INVALID
Email list was changed.
Definition mailbox.h:179
@ NT_MAILBOX_DELETE_ALL
All Mailboxes are about to be deleted.
Definition mailbox.h:174
@ NT_MAILBOX_UPDATE
Update internal tables.
Definition mailbox.h:181
@ NT_MAILBOX_ADD
Mailbox has been added.
Definition mailbox.h:172
+ Here is the caller graph for this function:

◆ name_notify_mview()

const char * name_notify_mview ( int id)

Get the name of a mailbox view notification type.

Parameters
idNotification subtype
Return values
strName of the notification

Definition at line 358 of file names.c.

359{
360 switch (id)
361 {
366 }
367}
@ NT_MVIEW_DELETE
The Mview is about to be destroyed.
Definition mview.h:63
@ NT_MVIEW_CHANGE
The Mview has changed.
Definition mview.h:64
@ NT_MVIEW_ADD
The Mview has been opened.
Definition mview.h:62
+ Here is the caller graph for this function:

◆ name_notify_type()

const char * name_notify_type ( enum NotifyType type)

Get the name of a notification type.

Parameters
typeNotification type enum
Return values
strName of the notification type

Definition at line 214 of file names.c.

215{
216 switch (type)
217 {
242 }
243}
@ NT_TIMEOUT
Timeout has occurred.
Definition notify_type.h:56
@ NT_WINDOW
MuttWindow has changed, NotifyWindow, EventWindow.
Definition notify_type.h:57
@ NT_MENU
Menu has changed, MenuRedrawFlags.
Definition notify_type.h:51
@ NT_ATTACH
Attachment command changed, NotifyAttach.
Definition notify_type.h:39
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
Definition notify_type.h:43
@ NT_COLOR
Colour has changed, NotifyColor, EventColor.
Definition notify_type.h:41
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
Definition notify_type.h:44
@ NT_BINDING
Key binding has changed, NotifyBinding, EventBinding.
Definition notify_type.h:40
@ NT_ENVELOPE
Envelope has changed, NotifyEnvelope.
Definition notify_type.h:45
@ NT_SCORE
Email scoring has changed.
Definition notify_type.h:54
@ NT_MAILBOX
Mailbox has changed, NotifyMailbox, EventMailbox.
Definition notify_type.h:49
@ NT_PAGER
Pager data has changed, NotifyPager, PagerPrivateData.
Definition notify_type.h:53
@ NT_COMMAND
A Command has been executed, Command.
Definition notify_type.h:42
@ NT_HEADER
A header has changed, NotifyHeader EventHeader.
Definition notify_type.h:47
@ NT_ACCOUNT
Account has changed, NotifyAccount, EventAccount.
Definition notify_type.h:36
@ NT_INDEX
Index data has changed, NotifyIndex, IndexSharedData.
Definition notify_type.h:48
@ NT_SUBJECTRX
Subject Regex has changed, NotifySubjectRx.
Definition notify_type.h:55
@ NT_ALL
Register for all notifications.
Definition notify_type.h:35
@ NT_MVIEW
MailboxView has changed, NotifyMview, EventMview.
Definition notify_type.h:50
@ NT_GLOBAL
Not object-related, NotifyGlobal.
Definition notify_type.h:46
@ NT_ALTERN
Alternates command changed, NotifyAlternates.
Definition notify_type.h:38
@ NT_RESIZE
Window has been resized.
Definition notify_type.h:52
@ NT_ALIAS
Alias has changed, NotifyAlias, EventAlias.
Definition notify_type.h:37
+ Here is the caller graph for this function:

◆ name_window_size()

const char * name_window_size ( const struct MuttWindow * win)

Get the name of a window size.

Parameters
winWindow to examine
Return values
strName of the window size

Definition at line 416 of file names.c.

417{
418 if (!win)
419 return "NULL";
420
421 switch (win->size)
422 {
427 }
428}
@ MUTT_WIN_SIZE_FIXED
Window has a fixed size.
Definition mutt_window.h:47
@ MUTT_WIN_SIZE_MINIMISE
Window size depends on its children.
Definition mutt_window.h:49
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
Definition mutt_window.h:48
enum MuttWindowSize size
Type of Window, e.g. MUTT_WIN_SIZE_FIXED.
+ Here is the caller graph for this function:

◆ name_window_type()

const char * name_window_type ( const struct MuttWindow * win)

Get the name of a window type.

Parameters
winWindow to examine
Return values
strName of the window type

Definition at line 374 of file names.c.

375{
376 if (!win)
377 return "NULL";
378
379 switch (win->type)
380 {
408 }
409}
@ WT_CUSTOM
Window with a custom drawing function.
Definition mutt_window.h:94
@ WT_ROOT
Parent of All Windows.
Definition mutt_window.h:72
@ WT_DLG_ALIAS
Alias Dialog, dlg_alias()
Definition mutt_window.h:77
@ WT_ALL_DIALOGS
Container for All Dialogs (nested Windows)
Definition mutt_window.h:74
@ WT_DLG_BROWSER
Browser Dialog, dlg_browser()
Definition mutt_window.h:80
@ WT_MESSAGE
Window for messages/errors.
Definition mutt_window.h:98
@ WT_DLG_SMIME
Smime Dialog, dlg_smime()
Definition mutt_window.h:91
@ WT_DLG_QUERY
Query Dialog, dlg_query()
Definition mutt_window.h:90
@ WT_DLG_HISTORY
History Dialog, dlg_history()
Definition mutt_window.h:85
@ WT_DLG_PGP
Pgp Dialog, dlg_pgp()
Definition mutt_window.h:88
@ WT_CONTAINER
Invisible shaping container Window.
Definition mutt_window.h:73
@ WT_DLG_CERTIFICATE
Certificate Dialog, dlg_certificate()
Definition mutt_window.h:81
@ WT_DLG_COMPOSE
Compose Dialog, dlg_compose()
Definition mutt_window.h:82
@ WT_DLG_INDEX
Index Dialog, dlg_index()
Definition mutt_window.h:86
@ WT_PAGER
A panel containing the Pager Window.
Definition mutt_window.h:99
@ WT_DLG_GPGME
GPGME Dialog, dlg_gpgme()
Definition mutt_window.h:83
@ WT_STATUS_BAR
Status Bar containing extra info about the Index/Pager/etc.
@ WT_HELP_BAR
Help Bar containing list of useful key bindings.
Definition mutt_window.h:95
@ WT_DLG_POSTPONE
Postpone Dialog, dlg_postpone()
Definition mutt_window.h:89
@ WT_INDEX
A panel containing the Index Window.
Definition mutt_window.h:96
@ WT_DLG_ATTACH
Attach Dialog, dlg_attach()
Definition mutt_window.h:78
@ WT_SIDEBAR
Side panel containing Accounts or groups of data.
@ WT_DLG_PAGER
Pager Dialog, dlg_pager()
Definition mutt_window.h:84
@ WT_DLG_AUTOCRYPT
Autocrypt Dialog, dlg_autocrypt()
Definition mutt_window.h:79
@ WT_MENU
An Window containing a Menu.
Definition mutt_window.h:97
@ WT_DLG_PATTERN
Pattern Dialog, dlg_pattern()
Definition mutt_window.h:87
enum WindowType type
Window type, e.g. WT_SIDEBAR.

◆ debug_all_observer()

int debug_all_observer ( struct NotifyCallback * nc)

Debug observer for all notifications.

Parameters
ncNotification callback
Return values
0Always

Definition at line 237 of file notify.c.

238{
239 mutt_debug(LL_DEBUG1, "\033[1;31mNotification:\033[0m %s\n",
241
242 switch (nc->event_type)
243 {
244 case NT_ACCOUNT:
246 break;
247 case NT_COLOR:
249 break;
250 case NT_COMMAND:
252 break;
253 case NT_CONFIG:
255 break;
256 case NT_MVIEW:
258 break;
259 case NT_EMAIL:
261 break;
262 case NT_GLOBAL:
264 break;
265 case NT_MAILBOX:
267 break;
268 case NT_RESIZE:
269 case NT_TIMEOUT:
270 break; // no other data
271 case NT_WINDOW:
274 else if (nc->event_subtype == NT_WINDOW_FOCUS)
276 break;
277 default:
278 mutt_debug(LL_DEBUG1, " Event Type: %d\n", nc->event_type);
279 mutt_debug(LL_DEBUG1, " Event Sub-type: %d\n", nc->event_subtype);
280 mutt_debug(LL_DEBUG1, " Event Data: %p\n", nc->event_data);
281 break;
282 }
283
284 mutt_debug(LL_DEBUG1, " Global Data: %p\n", nc->global_data);
285
286 mutt_debug(LL_DEBUG5, "debug done\n");
287 return 0;
288}
const char * name_notify_type(enum NotifyType type)
Get the name of a notification type.
Definition names.c:214
static void notify_dump_global(struct NotifyCallback *nc)
Dump global notification.
Definition notify.c:140
static void notify_dump_config(struct NotifyCallback *nc)
Dump config notification.
Definition notify.c:94
static void notify_dump_mview(struct NotifyCallback *nc)
Dump mailbox view notification.
Definition notify.c:109
static void notify_dump_command(struct NotifyCallback *nc)
Dump command notification.
Definition notify.c:83
static void notify_dump_color(struct NotifyCallback *nc)
Dump color notification.
Definition notify.c:60
static void notify_dump_mailbox(struct NotifyCallback *nc)
Dump mailbox notification.
Definition notify.c:149
static void notify_dump_window_focus(struct NotifyCallback *nc)
Dump window focus notification.
Definition notify.c:202
static void notify_dump_account(struct NotifyCallback *nc)
Dump account notification.
Definition notify.c:45
static void notify_dump_email(struct NotifyCallback *nc)
Dump email notification.
Definition notify.c:125
static void notify_dump_window_state(struct NotifyCallback *nc)
Dump window state notification.
Definition notify.c:163
@ LL_DEBUG5
Log at debug level 5.
Definition logging2.h:49
@ NT_WINDOW_STATE
Window state has changed, e.g. WN_VISIBLE.
@ NT_WINDOW_FOCUS
Window focus has changed.
void * event_data
Data from notify_send()
Definition observer.h:38
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
Definition observer.h:36
int event_subtype
Send: Event subtype, e.g. NT_ACCOUNT_ADD.
Definition observer.h:37
void * global_data
Data from notify_observer_add()
Definition observer.h:39
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_pager()

static void dump_pager ( struct PagerPrivateData * priv)
inlinestatic

Definition at line 151 of file lib.h.

151{}
+ Here is the caller graph for this function:

◆ debug_win_dump()

void debug_win_dump ( void )

Dump all windows to debug output.

Definition at line 114 of file window.c.

115{
117 mutt_debug(LL_DEBUG1, "\n");
119 mutt_debug(LL_DEBUG1, "\n");
120#ifdef DEBUG_SHOW_SERIALISE
121 struct Buffer buf = buf_pool_get();
122 win_serialise(RootWindow, buf);
123 mutt_debug(LL_DEBUG1, "%s\n", buf_string(buf));
124 buf_pool_release(&buf);
125#endif
126 WinFocus = NULL;
127}
static void win_dump(struct MuttWindow *win, int indent)
Recursively dump window structure.
Definition window.c:47
static struct MuttWindow * WinFocus
The Window that is currently focused.
Definition window.c:40
struct MuttWindow * window_get_focus(void)
Get the currently focused Window.
struct MuttWindow * RootWindow
Parent of all Windows.
Definition rootwin.c:106
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ DebugLogColor

bool DebugLogColor
extern

Output ANSI colours.

Definition at line 39 of file logging.c.

◆ DebugLogLevel

bool DebugLogLevel
extern

Prefix log level, e.g. [E].

Definition at line 40 of file logging.c.

◆ DebugLogTimestamp

bool DebugLogTimestamp
extern

Show the timestamp.

Definition at line 41 of file logging.c.