NeoMutt  2024-04-25-76-g20fe7b
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
Expando Get String API

Get some string data. More...

+ Collaboration diagram for Expando Get String API:

Functions

void alias_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Alias name - Implements ExpandoRenderData::get_string() -.
 
void alias_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Comment - Implements ExpandoRenderData::get_string() -.
 
void alias_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Flags - Implements ExpandoRenderData::get_string() -.
 
void alias_r (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Address - Implements ExpandoRenderData::get_string() -.
 
void alias_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Tagged char - Implements ExpandoRenderData::get_string() -.
 
void alias_Y (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Alias: Tags - Implements ExpandoRenderData::get_string() -.
 
void query_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Query: Address - Implements ExpandoRenderData::get_string() -.
 
void query_e (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Query: Extra information - Implements ExpandoRenderData::get_string() -.
 
void query_n (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Query: Name - Implements ExpandoRenderData::get_string() -.
 
void query_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Query: Tagged char - Implements ExpandoRenderData::get_string() -.
 
void query_Y (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Query: Tags - Implements ExpandoRenderData::get_string() -.
 
void attach_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Requires conversion flag - Implements ExpandoRenderData::get_string() -.
 
void attach_C (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Charset - Implements ExpandoRenderData::get_string() -.
 
void attach_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Description - Implements ExpandoRenderData::get_string() -.
 
void attach_D (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Deleted - Implements ExpandoRenderData::get_string() -.
 
void attach_e (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: MIME type - Implements ExpandoRenderData::get_string() -.
 
void attach_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Filename - Implements ExpandoRenderData::get_string() -.
 
void attach_F (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Filename in header - Implements ExpandoRenderData::get_string() -.
 
void attach_I (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Disposition flag - Implements ExpandoRenderData::get_string() -.
 
void attach_m (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Major MIME type - Implements ExpandoRenderData::get_string() -.
 
void attach_M (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: MIME subtype - Implements ExpandoRenderData::get_string() -.
 
void attach_Q (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Attachment counting - Implements ExpandoRenderData::get_string() -.
 
void attach_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Size - Implements ExpandoRenderData::get_string() -.
 
void attach_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Is Tagged - Implements ExpandoRenderData::get_string() -.
 
void attach_T (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Tree characters - Implements ExpandoRenderData::get_string() -.
 
void attach_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Attachment: Unlink flag - Implements ExpandoRenderData::get_string() -.
 
void autocrypt_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Autocrypt: Address - Implements ExpandoRenderData::get_string() -.
 
void autocrypt_k (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Autocrypt: GPG Key - Implements ExpandoRenderData::get_string() -.
 
void autocrypt_p (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Autocrypt: Prefer-encrypt flag - Implements ExpandoRenderData::get_string() -.
 
void autocrypt_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Autocrypt: Status flag - Implements ExpandoRenderData::get_string() -.
 
void folder_date (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Last modified (strftime) - Implements ExpandoRenderData::get_string() -.
 
void folder_space (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Fixed whitespace - Implements ExpandoRenderData::get_string() -.
 
void folder_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Last modified - Implements ExpandoRenderData::get_string() -.
 
void folder_D (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Last modified ($date_format) - Implements ExpandoRenderData::get_string() -.
 
void folder_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Filename - Implements ExpandoRenderData::get_string() -.
 
void folder_F (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: File permissions - Implements ExpandoRenderData::get_string() -.
 
void folder_g (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Group name - Implements ExpandoRenderData::get_string() -.
 
void folder_i (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Description - Implements ExpandoRenderData::get_string() -.
 
void folder_l (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Hard links - Implements ExpandoRenderData::get_string() -.
 
void folder_m (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Number of messages - Implements ExpandoRenderData::get_string() -.
 
void folder_n (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Number of unread messages - Implements ExpandoRenderData::get_string() -.
 
void folder_N (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: New mail flag - Implements ExpandoRenderData::get_string() -.
 
void folder_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Size in bytes - Implements ExpandoRenderData::get_string() -.
 
void folder_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Is Tagged - Implements ExpandoRenderData::get_string() -.
 
void folder_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Browser: Owner name - Implements ExpandoRenderData::get_string() -.
 
void compress_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Compress: From filename - Implements ExpandoRenderData::get_string() -.
 
void compress_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Compress: To filename - Implements ExpandoRenderData::get_string() -.
 
void compose_h (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Compose: Hostname - Implements ExpandoRenderData::get_string() -.
 
void compose_l (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Compose: Size in bytes - Implements ExpandoRenderData::get_string() -.
 
void compose_v (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Compose: Version - Implements ExpandoRenderData::get_string() -.
 
void index_date_recv_local (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Local received date and time - Implements ExpandoRenderData::get_string() -.
 
void index_date_local (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Local date and time - Implements ExpandoRenderData::get_string() -.
 
void index_date (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Sender's date and time - Implements ExpandoRenderData::get_string() -.
 
void index_format_hook (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: index-format-hook - Implements ExpandoRenderData::get_string() -.
 
void index_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Author Address - Implements ExpandoRenderData::get_string() -.
 
void index_A (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Reply-to address - Implements ExpandoRenderData::get_string() -.
 
void index_b (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Filename - Implements ExpandoRenderData::get_string() -.
 
void index_B (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Email list - Implements ExpandoRenderData::get_string() -.
 
void index_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Number of bytes - Implements ExpandoRenderData::get_string() -.
 
void index_cr (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Number of raw bytes - Implements ExpandoRenderData::get_string() -.
 
void index_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Senders Date and time - Implements ExpandoRenderData::get_string() -.
 
void index_D (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Local Date and time - Implements ExpandoRenderData::get_string() -.
 
void index_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Sender - Implements ExpandoRenderData::get_string() -.
 
void index_F (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Author name - Implements ExpandoRenderData::get_string() -.
 
void index_Fp (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Plain author name - Implements ExpandoRenderData::get_string() -.
 
void index_g (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Message tags - Implements ExpandoRenderData::get_string() -.
 
void index_G (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Individual tag - Implements ExpandoRenderData::get_string() -.
 
void index_H (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Spam attributes - Implements ExpandoRenderData::get_string() -.
 
void index_i (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Message-id - Implements ExpandoRenderData::get_string() -.
 
void index_I (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Initials of author - Implements ExpandoRenderData::get_string() -.
 
void index_J (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Tags - Implements ExpandoRenderData::get_string() -.
 
void index_K (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Mailing list - Implements ExpandoRenderData::get_string() -.
 
void index_L (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: List address - Implements ExpandoRenderData::get_string() -.
 
void index_M (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Number of hidden messages - Implements ExpandoRenderData::get_string() -.
 
void index_n (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Author's real name - Implements ExpandoRenderData::get_string() -.
 
void index_O (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: List Name or Save folder - Implements ExpandoRenderData::get_string() -.
 
void index_P (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Progress indicator - Implements ExpandoRenderData::get_string() -.
 
void index_q (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Newsgroup name - Implements ExpandoRenderData::get_string() -.
 
void index_r (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: To recipients - Implements ExpandoRenderData::get_string() -.
 
void index_R (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Cc recipients - Implements ExpandoRenderData::get_string() -.
 
void index_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Subject - Implements ExpandoRenderData::get_string() -.
 
void index_S (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Status flag - Implements ExpandoRenderData::get_string() -.
 
void index_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: To field - Implements ExpandoRenderData::get_string() -.
 
void index_T (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: $to_chars flag - Implements ExpandoRenderData::get_string() -.
 
void index_tree (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Thread tree - Implements ExpandoRenderData::get_string() -.
 
void index_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: User name - Implements ExpandoRenderData::get_string() -.
 
void index_v (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: First name - Implements ExpandoRenderData::get_string() -.
 
void index_W (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Organization - Implements ExpandoRenderData::get_string() -.
 
void index_x (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: X-Comment-To - Implements ExpandoRenderData::get_string() -.
 
void index_y (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: X-Label - Implements ExpandoRenderData::get_string() -.
 
void index_Y (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: X-Label (if different) - Implements ExpandoRenderData::get_string() -.
 
void index_zc (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Message crypto flags - Implements ExpandoRenderData::get_string() -.
 
void index_zs (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Message status flags - Implements ExpandoRenderData::get_string() -.
 
void index_zt (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Message tag flags - Implements ExpandoRenderData::get_string() -.
 
void index_Z (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Index: Status flags - Implements ExpandoRenderData::get_string() -.
 
void history_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 History: History match - Implements ExpandoRenderData::get_string() -.
 
void mix_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Mixmaster: Email address - Implements ExpandoRenderData::get_string() -.
 
void mix_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Mixmaster: Capabilities - Implements ExpandoRenderData::get_string() -.
 
void mix_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Mixmaster: Short name - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_date (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Date of the key - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_p (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Protocol - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Trust/validity - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: User id - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Key Algorithm - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Key Capabilities - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Key Flags - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_i (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Key fingerprint - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_gpgme_k (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 GPGME: Key id - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_date (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Date of the key - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_t (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Trust/validity - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: User id - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Key Algorithm - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_A (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Principal Key Algorithm - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Key Capabilities - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_C (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Principal Key Capabilities - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Key Flags - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_F (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Principal Key Flags - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_k (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Key id - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_pgp_K (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Principal Key id - Implements ExpandoRenderData::get_string() -.
 
void pgp_entry_ignore (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP: Field not supported - Implements ExpandoRenderData::get_string() -.
 
void pgp_command_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP Command: $pgp_sign_as or $pgp_default_key - Implements ExpandoRenderData::get_string() -.
 
void pgp_command_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP Command: Filename of message - Implements ExpandoRenderData::get_string() -.
 
void pgp_command_p (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP Command: PGPPASSFD=0 if passphrase is needed - Implements ExpandoRenderData::get_string() -.
 
void pgp_command_r (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP Command: key IDs - Implements ExpandoRenderData::get_string() -.
 
void pgp_command_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 PGP Command: Filename of signature - Implements ExpandoRenderData::get_string() -.
 
void smime_command_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: algorithm - Implements ExpandoRenderData::get_string() -.
 
void smime_command_c (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: certificate IDs - Implements ExpandoRenderData::get_string() -.
 
void smime_command_C (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: CA location - Implements ExpandoRenderData::get_string() -.
 
void smime_command_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: Message digest algorithm - Implements ExpandoRenderData::get_string() -.
 
void smime_command_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: Filename of message - Implements ExpandoRenderData::get_string() -.
 
void smime_command_i (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: Intermediate certificates - Implements ExpandoRenderData::get_string() -.
 
void smime_command_k (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: Key-pair - Implements ExpandoRenderData::get_string() -.
 
void smime_command_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Smime Command: Filename of signature - Implements ExpandoRenderData::get_string() -.
 
void group_index_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 NNTP: Description - Implements ExpandoRenderData::get_string() -.
 
void group_index_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 NNTP: Newsgroup name - Implements ExpandoRenderData::get_string() -.
 
void group_index_M (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 NNTP: Moderated flag - Implements ExpandoRenderData::get_string() -.
 
void group_index_N (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 NNTP: New flag - Implements ExpandoRenderData::get_string() -.
 
void nntp_a (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Newsrc: Account url - Implements ExpandoRenderData::get_string() -.
 
void nntp_P (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Newsrc: Port if specified - Implements ExpandoRenderData::get_string() -.
 
void nntp_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Newsrc: News server name - Implements ExpandoRenderData::get_string() -.
 
void nntp_S (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Newsrc: Url schema - Implements ExpandoRenderData::get_string() -.
 
void nntp_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Newsrc: Username - Implements ExpandoRenderData::get_string() -.
 
void pattern_d (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Pattern: pattern description - Implements ExpandoRenderData::get_string() -.
 
void pattern_e (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Pattern: pattern expression - Implements ExpandoRenderData::get_string() -.
 
void greeting_n (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Greeting: Real name - Implements ExpandoRenderData::get_string() -.
 
void greeting_u (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Greeting: Login name - Implements ExpandoRenderData::get_string() -.
 
void greeting_v (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Greeting: First name - Implements ExpandoRenderData::get_string() -.
 
void sidebar_bang (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Sidebar: Flagged flags - Implements ExpandoRenderData::get_string() -.
 
void sidebar_B (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Sidebar: Name of the mailbox - Implements ExpandoRenderData::get_string() -.
 
void sidebar_D (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Sidebar: Descriptive name - Implements ExpandoRenderData::get_string() -.
 
void sidebar_n (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Sidebar: New mail flag - Implements ExpandoRenderData::get_string() -.
 
void status_r (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Modified/read-only flag - Implements ExpandoRenderData::get_string() -.
 
void status_D (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Description of the mailbox - Implements ExpandoRenderData::get_string() -.
 
void status_f (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: pathname of the mailbox - Implements ExpandoRenderData::get_string() -.
 
void status_l (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Size of the current mailbox - Implements ExpandoRenderData::get_string() -.
 
void status_T (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Current threading mode - Implements ExpandoRenderData::get_string() -.
 
void status_s (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Sorting mode - Implements ExpandoRenderData::get_string() -.
 
void status_S (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Aux sorting method - Implements ExpandoRenderData::get_string() -.
 
void status_P (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Percentage through index - Implements ExpandoRenderData::get_string() -.
 
void status_h (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Local hostname - Implements ExpandoRenderData::get_string() -.
 
void status_L (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Size of the messages - Implements ExpandoRenderData::get_string() -.
 
void status_v (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Version string - Implements ExpandoRenderData::get_string() -.
 
void status_V (const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
 Status: Active limit pattern - Implements ExpandoRenderData::get_string() -.
 

Detailed Description

Get some string data.

Parameters
[in]nodeExpandoNode containing the callback
[in]dataPrivate data
[in]flagsFlags, see MuttFormatFlags
[in]max_colsMaximum number of screen columns
[out]bufBuffer in which to save string

Get some string data to be formatted.

Function Documentation

◆ alias_a()

void alias_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Alias name - Implements ExpandoRenderData::get_string() -.

Definition at line 116 of file dlg_alias.c.

118{
119 const struct AliasView *av = data;
120 const struct Alias *alias = av->alias;
121
122 const char *s = alias->name;
123 buf_strcpy(buf, s);
124}
size_t buf_strcpy(struct Buffer *buf, const char *s)
Copy a string into a Buffer.
Definition: buffer.c:395
GUI data wrapping an Alias.
Definition: gui.h:38
struct Alias * alias
Alias.
Definition: gui.h:46
A shortcut for an email address or addresses.
Definition: alias.h:35
char * name
Short name.
Definition: alias.h:36
+ Here is the call graph for this function:

◆ alias_c()

void alias_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Comment - Implements ExpandoRenderData::get_string() -.

Definition at line 129 of file dlg_alias.c.

131{
132 const struct AliasView *av = data;
133 const struct Alias *alias = av->alias;
134
135 const char *s = alias->comment;
136 buf_strcpy(buf, s);
137}
char * comment
Free-form comment string.
Definition: alias.h:38
+ Here is the call graph for this function:

◆ alias_f()

void alias_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Flags - Implements ExpandoRenderData::get_string() -.

Definition at line 151 of file dlg_alias.c.

153{
154 const struct AliasView *av = data;
155
156 // NOTE(g0mb4): use $flag_chars?
157 const char *s = av->is_deleted ? "D" : " ";
158 buf_strcpy(buf, s);
159}
bool is_deleted
Is it deleted?
Definition: gui.h:44
+ Here is the call graph for this function:

◆ alias_r()

void alias_r ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Address - Implements ExpandoRenderData::get_string() -.

Definition at line 174 of file dlg_alias.c.

176{
177 const struct AliasView *av = data;
178 const struct Alias *alias = av->alias;
179
180 mutt_addrlist_write(&alias->addr, buf, true);
181}
size_t mutt_addrlist_write(const struct AddressList *al, struct Buffer *buf, bool display)
Write an Address to a buffer.
Definition: address.c:1206
struct AddressList addr
List of Addresses the Alias expands to.
Definition: alias.h:37
+ Here is the call graph for this function:

◆ alias_t()

void alias_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Tagged char - Implements ExpandoRenderData::get_string() -.

Definition at line 195 of file dlg_alias.c.

197{
198 const struct AliasView *av = data;
199
200 // NOTE(g0mb4): use $flag_chars?
201 const char *s = av->is_tagged ? "*" : " ";
202 buf_strcpy(buf, s);
203}
bool is_tagged
Is it tagged?
Definition: gui.h:43
+ Here is the call graph for this function:

◆ alias_Y()

void alias_Y ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Alias: Tags - Implements ExpandoRenderData::get_string() -.

Definition at line 208 of file dlg_alias.c.

210{
211 const struct AliasView *av = data;
212
213 alias_tags_to_buffer(&av->alias->tags, buf);
214}
void alias_tags_to_buffer(struct TagList *tl, struct Buffer *buf)
Write a comma-separated list of tags to a Buffer.
Definition: commands.c:49
struct TagList tags
Tags.
Definition: alias.h:39
+ Here is the call graph for this function:

◆ query_a()

void query_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Query: Address - Implements ExpandoRenderData::get_string() -.

Definition at line 145 of file dlg_query.c.

147{
148 const struct AliasView *av = data;
149 const struct Alias *alias = av->alias;
150
151 struct Buffer *addrs = buf_pool_get();
152 mutt_addrlist_write(&alias->addr, addrs, true);
153
154 buf_printf(buf, "<%s>", buf_string(addrs));
155}
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Definition: buffer.c:161
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
Definition: buffer.h:96
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
Definition: pool.c:81
String manipulation buffer.
Definition: buffer.h:36
+ Here is the call graph for this function:

◆ query_e()

void query_e ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Query: Extra information - Implements ExpandoRenderData::get_string() -.

Definition at line 170 of file dlg_query.c.

172{
173 const struct AliasView *av = data;
174 const struct Alias *alias = av->alias;
175
176 const char *s = alias->comment;
177 buf_strcpy(buf, s);
178}
+ Here is the call graph for this function:

◆ query_n()

void query_n ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Query: Name - Implements ExpandoRenderData::get_string() -.

Definition at line 183 of file dlg_query.c.

185{
186 const struct AliasView *av = data;
187 const struct Alias *alias = av->alias;
188
189 const char *s = alias->name;
190 buf_strcpy(buf, s);
191}
+ Here is the call graph for this function:

◆ query_t()

void query_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Query: Tagged char - Implements ExpandoRenderData::get_string() -.

Definition at line 205 of file dlg_query.c.

207{
208 const struct AliasView *av = data;
209
210 // NOTE(g0mb4): use $flag_chars?
211 const char *s = av->is_tagged ? "*" : " ";
212 buf_strcpy(buf, s);
213}
+ Here is the call graph for this function:

◆ query_Y()

void query_Y ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Query: Tags - Implements ExpandoRenderData::get_string() -.

Definition at line 218 of file dlg_query.c.

220{
221 const struct AliasView *av = data;
222
223 alias_tags_to_buffer(&av->alias->tags, buf);
224}
+ Here is the call graph for this function:

◆ attach_c()

void attach_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Requires conversion flag - Implements ExpandoRenderData::get_string() -.

Definition at line 136 of file dlg_attach.c.

138{
139 const struct AttachPtr *aptr = data;
140
141 // NOTE(g0mb4): use $to_chars?
142 const char *s = ((aptr->body->type != TYPE_TEXT) || aptr->body->noconv) ? "n" : "c";
143 buf_strcpy(buf, s);
144}
@ TYPE_TEXT
Type: 'text/*'.
Definition: mime.h:38
An email to which things will be attached.
Definition: attach.h:37
struct Body * body
Attachment.
Definition: attach.h:38
bool noconv
Don't do character set conversion.
Definition: body.h:46
unsigned int type
content-type primary type, ContentType
Definition: body.h:40
+ Here is the call graph for this function:

◆ attach_C()

void attach_C ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Charset - Implements ExpandoRenderData::get_string() -.

Definition at line 149 of file dlg_attach.c.

151{
152 const struct AttachPtr *aptr = data;
153
154 char tmp[128] = { 0 };
155
156 if (mutt_is_text_part(aptr->body) && mutt_body_get_charset(aptr->body, tmp, sizeof(tmp)))
157 {
158 buf_strcpy(buf, tmp);
159 }
160}
char * mutt_body_get_charset(struct Body *b, char *buf, size_t buflen)
Get a body's character set.
Definition: body.c:132
bool mutt_is_text_part(const struct Body *b)
Is this part of an email in plain text?
Definition: muttlib.c:442
+ Here is the call graph for this function:

◆ attach_d()

void attach_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Description - Implements ExpandoRenderData::get_string() -.

Definition at line 165 of file dlg_attach.c.

167{
168 const struct AttachPtr *aptr = data;
169
170 const struct Expando *c_message_format = cs_subset_expando(NeoMutt->sub, "message_format");
171 if (aptr->body->description)
172 {
173 const char *s = aptr->body->description;
174 buf_strcpy(buf, s);
175 return;
176 }
177
178 if (mutt_is_message_type(aptr->body->type, aptr->body->subtype) &&
179 c_message_format && aptr->body->email)
180 {
181 mutt_make_string(buf, max_cols, c_message_format, NULL, -1, aptr->body->email,
183
184 return;
185 }
186
187 if (!aptr->body->d_filename && !aptr->body->filename)
188 {
189 const char *s = "<no description>";
190 buf_strcpy(buf, s);
191 return;
192 }
193
194 attach_F(node, data, flags, max_cols, buf);
195}
const struct Expando * cs_subset_expando(const struct ConfigSubset *sub, const char *name)
Get an Expando config item by name.
Definition: config_type.c:357
bool mutt_is_message_type(int type, const char *subtype)
Determine if a mime type matches a message or not.
Definition: parse.c:1493
void attach_F(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Attachment: Filename in header - Implements ExpandoRenderData::get_string() -.
Definition: dlg_attach.c:258
int mutt_make_string(struct Buffer *buf, size_t max_cols, const struct Expando *exp, struct Mailbox *m, int inpgr, struct Email *e, MuttFormatFlags flags, const char *progress)
Create formatted strings using mailbox expandos.
Definition: hdrline.c:1796
#define MUTT_FORMAT_FORCESUBJ
Print the subject even if unchanged.
Definition: render.h:34
#define MUTT_FORMAT_ARROWCURSOR
Reserve space for arrow_cursor.
Definition: render.h:37
char * d_filename
filename to be used for the content-disposition header If NULL, filename is used instead.
Definition: body.h:56
struct Email * email
header information for message/rfc822
Definition: body.h:73
char * description
content-description
Definition: body.h:55
char * subtype
content-type subtype
Definition: body.h:60
char * filename
When sending a message, this is the file to which this structure refers.
Definition: body.h:58
Parsed Expando trees.
Definition: expando.h:41
struct ExpandoNode * node
Parsed tree.
Definition: expando.h:43
Container for Accounts, Notifications.
Definition: neomutt.h:42
struct ConfigSubset * sub
Inherited config items.
Definition: neomutt.h:46
+ Here is the call graph for this function:

◆ attach_D()

void attach_D ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Deleted - Implements ExpandoRenderData::get_string() -.

Definition at line 209 of file dlg_attach.c.

211{
212 const struct AttachPtr *aptr = data;
213
214 // NOTE(g0mb4): use $to_chars?
215 const char *s = aptr->body->deleted ? "D" : " ";
216 buf_strcpy(buf, s);
217}
bool deleted
Attachment marked for deletion.
Definition: body.h:87
+ Here is the call graph for this function:

◆ attach_e()

void attach_e ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: MIME type - Implements ExpandoRenderData::get_string() -.

Definition at line 222 of file dlg_attach.c.

224{
225 const struct AttachPtr *aptr = data;
226
227 const char *s = ENCODING(aptr->body->encoding);
228 buf_strcpy(buf, s);
229}
#define ENCODING(x)
Definition: mime.h:92
unsigned int encoding
content-transfer-encoding, ContentEncoding
Definition: body.h:41
+ Here is the call graph for this function:

◆ attach_f()

void attach_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Filename - Implements ExpandoRenderData::get_string() -.

Definition at line 234 of file dlg_attach.c.

236{
237 const struct AttachPtr *aptr = data;
238
239 if (aptr->body->filename && (*aptr->body->filename == '/'))
240 {
241 struct Buffer *path = buf_pool_get();
242
243 buf_strcpy(path, aptr->body->filename);
244 buf_pretty_mailbox(path);
245 buf_copy(buf, path);
246 buf_pool_release(&path);
247 }
248 else
249 {
250 const char *s = aptr->body->filename;
251 buf_strcpy(buf, s);
252 }
253}
size_t buf_copy(struct Buffer *dst, const struct Buffer *src)
Copy a Buffer's contents to another Buffer.
Definition: buffer.c:601
void buf_pretty_mailbox(struct Buffer *buf)
Shorten a mailbox path using '~' or '='.
Definition: muttlib.c:554
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Definition: pool.c:94
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attach_F()

void attach_F ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Filename in header - Implements ExpandoRenderData::get_string() -.

Definition at line 258 of file dlg_attach.c.

260{
261 const struct AttachPtr *aptr = data;
262
263 if (aptr->body->d_filename)
264 {
265 const char *s = aptr->body->d_filename;
266 buf_strcpy(buf, s);
267 return;
268 }
269
270 attach_f(node, data, flags, max_cols, buf);
271}
void attach_f(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Attachment: Filename - Implements ExpandoRenderData::get_string() -.
Definition: dlg_attach.c:234
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attach_I()

void attach_I ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Disposition flag - Implements ExpandoRenderData::get_string() -.

Definition at line 276 of file dlg_attach.c.

278{
279 const struct AttachPtr *aptr = data;
280
281 // NOTE(g0mb4): use $to_chars?
282 static const char dispchar[] = { 'I', 'A', 'F', '-' };
283 char ch;
284
285 if (aptr->body->disposition < sizeof(dispchar))
286 {
287 ch = dispchar[aptr->body->disposition];
288 }
289 else
290 {
291 mutt_debug(LL_DEBUG1, "ERROR: invalid content-disposition %d\n", aptr->body->disposition);
292 ch = '!';
293 }
294
295 buf_printf(buf, "%c", ch);
296}
#define mutt_debug(LEVEL,...)
Definition: logging2.h:89
@ LL_DEBUG1
Log at debug level 1.
Definition: logging2.h:43
unsigned int disposition
content-disposition, ContentDisposition
Definition: body.h:42
+ Here is the call graph for this function:

◆ attach_m()

void attach_m ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Major MIME type - Implements ExpandoRenderData::get_string() -.

Definition at line 301 of file dlg_attach.c.

303{
304 const struct AttachPtr *aptr = data;
305
306 const char *s = TYPE(aptr->body);
307 buf_strcpy(buf, s);
308}
#define TYPE(body)
Definition: mime.h:89
+ Here is the call graph for this function:

◆ attach_M()

void attach_M ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: MIME subtype - Implements ExpandoRenderData::get_string() -.

Definition at line 313 of file dlg_attach.c.

315{
316 const struct AttachPtr *aptr = data;
317
318 const char *s = aptr->body->subtype;
319 buf_strcpy(buf, s);
320}
+ Here is the call graph for this function:

◆ attach_Q()

void attach_Q ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Attachment counting - Implements ExpandoRenderData::get_string() -.

Definition at line 344 of file dlg_attach.c.

346{
347 const struct AttachPtr *aptr = data;
348
349 // NOTE(g0mb4): use $to_chars?
350 const char *s = aptr->body->attach_qualifies ? "Q" : " ";
351 buf_strcpy(buf, s);
352}
bool attach_qualifies
This attachment should be counted.
Definition: body.h:86
+ Here is the call graph for this function:

◆ attach_s()

void attach_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Size - Implements ExpandoRenderData::get_string() -.

Definition at line 370 of file dlg_attach.c.

372{
373 const struct AttachPtr *aptr = data;
374
375 char tmp[128] = { 0 };
376
377 size_t l = 0;
378 if (aptr->body->filename && (flags & MUTT_FORMAT_STAT_FILE))
379 {
380 l = mutt_file_get_size(aptr->body->filename);
381 }
382 else
383 {
384 l = aptr->body->length;
385 }
386
387 mutt_str_pretty_size(tmp, sizeof(tmp), l);
388 buf_strcpy(buf, tmp);
389}
long mutt_file_get_size(const char *path)
Get the size of a file.
Definition: file.c:1519
void mutt_str_pretty_size(char *buf, size_t buflen, size_t num)
Display an abbreviated size, like 3.4K.
Definition: muttlib.c:1101
#define MUTT_FORMAT_STAT_FILE
Used by attach_format_str.
Definition: render.h:36
LOFF_T length
length (in bytes) of attachment
Definition: body.h:53
+ Here is the call graph for this function:

◆ attach_t()

void attach_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Is Tagged - Implements ExpandoRenderData::get_string() -.

Definition at line 403 of file dlg_attach.c.

405{
406 const struct AttachPtr *aptr = data;
407
408 // NOTE(g0mb4): use $to_chars?
409 const char *s = aptr->body->tagged ? "*" : " ";
410 buf_strcpy(buf, s);
411}
bool tagged
This attachment is tagged.
Definition: body.h:89
+ Here is the call graph for this function:

◆ attach_T()

void attach_T ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Tree characters - Implements ExpandoRenderData::get_string() -.

Definition at line 416 of file dlg_attach.c.

418{
419 const struct AttachPtr *aptr = data;
420
422 node_expando_set_has_tree(node, true);
423 const char *s = aptr->tree;
424 buf_strcpy(buf, s);
425}
@ MT_COLOR_TREE
Index: tree-drawing characters.
Definition: color.h:79
void node_expando_set_color(const struct ExpandoNode *node, int cid)
Set the colour for an Expando.
Definition: node_expando.c:106
void node_expando_set_has_tree(const struct ExpandoNode *node, bool has_tree)
Set the has_tree flag for an Expando.
Definition: node_expando.c:121
char * tree
Tree characters to display.
Definition: attach.h:41
+ Here is the call graph for this function:

◆ attach_u()

void attach_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Attachment: Unlink flag - Implements ExpandoRenderData::get_string() -.

Definition at line 439 of file dlg_attach.c.

441{
442 const struct AttachPtr *aptr = data;
443
444 // NOTE(g0mb4): use $to_chars?
445 const char *s = aptr->body->unlink ? "-" : " ";
446 buf_strcpy(buf, s);
447}
bool unlink
If true, filename should be unlink()ed before free()ing this structure.
Definition: body.h:67
+ Here is the call graph for this function:

◆ autocrypt_a()

void autocrypt_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Autocrypt: Address - Implements ExpandoRenderData::get_string() -.

Definition at line 117 of file dlg_autocrypt.c.

119{
120 const struct AccountEntry *entry = data;
121
122 buf_copy(buf, entry->addr->mailbox);
123}
An entry in the Autocrypt account Menu.
Definition: private.h:45
struct Address * addr
Email address associated with the account.
Definition: private.h:48
struct Buffer * mailbox
Mailbox and host address.
Definition: address.h:38
+ Here is the call graph for this function:

◆ autocrypt_k()

void autocrypt_k ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Autocrypt: GPG Key - Implements ExpandoRenderData::get_string() -.

Definition at line 128 of file dlg_autocrypt.c.

130{
131 const struct AccountEntry *entry = data;
132
133 const char *s = entry->account->keyid;
134 buf_strcpy(buf, s);
135}
struct AutocryptAccount * account
Account details.
Definition: private.h:47
char * keyid
PGP Key id.
Definition: lib.h:109
+ Here is the call graph for this function:

◆ autocrypt_p()

void autocrypt_p ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Autocrypt: Prefer-encrypt flag - Implements ExpandoRenderData::get_string() -.

Definition at line 150 of file dlg_autocrypt.c.

152{
153 const struct AccountEntry *entry = data;
154
155 if (entry->account->prefer_encrypt)
156 {
157 /* L10N: Autocrypt Account menu.
158 flag that an account has prefer-encrypt set */
159 buf_addstr(buf, _("prefer encrypt"));
160 }
161 else
162 {
163 /* L10N: Autocrypt Account menu.
164 flag that an account has prefer-encrypt unset;
165 thus encryption will need to be manually enabled. */
166 buf_addstr(buf, _("manual encrypt"));
167 }
168}
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
Definition: buffer.c:226
#define _(a)
Definition: message.h:28
bool prefer_encrypt
false = nopref, true = mutual
Definition: lib.h:111
+ Here is the call graph for this function:

◆ autocrypt_s()

void autocrypt_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Autocrypt: Status flag - Implements ExpandoRenderData::get_string() -.

Definition at line 173 of file dlg_autocrypt.c.

175{
176 const struct AccountEntry *entry = data;
177
178 if (entry->account->enabled)
179 {
180 /* L10N: Autocrypt Account menu.
181 flag that an account is enabled/active */
182 buf_addstr(buf, _("active"));
183 }
184 else
185 {
186 /* L10N: Autocrypt Account menu.
187 flag that an account is disabled/inactive */
188 buf_addstr(buf, _("inactive"));
189 }
190}
bool enabled
Is this account enabled.
Definition: lib.h:112
+ Here is the call graph for this function:

◆ folder_date()

void folder_date ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Last modified (strftime) - Implements ExpandoRenderData::get_string() -.

Definition at line 207 of file dlg_browser.c.

209{
210 const struct Folder *folder = data;
211
212 if (!folder->ff->local)
213 return;
214
215 char tmp[128] = { 0 };
216 char tmp2[128] = { 0 };
217 int len = node->end - node->start;
218 const char *start = node->start;
219
220 struct tm tm = mutt_date_localtime(folder->ff->mtime);
221 bool use_c_locale = false;
222 if (*start == '!')
223 {
224 use_c_locale = true;
225 start++;
226 len--;
227 }
228 ASSERT(len < sizeof(tmp2));
229 mutt_strn_copy(tmp2, start, len, sizeof(tmp2));
230
231 if (use_c_locale)
232 {
233 strftime_l(tmp, sizeof(tmp), tmp2, &tm, NeoMutt->time_c_locale);
234 }
235 else
236 {
237 strftime(tmp, sizeof(tmp), tmp2, &tm);
238 }
239
240 buf_strcpy(buf, tmp);
241}
struct tm mutt_date_localtime(time_t t)
Converts calendar time to a broken-down time structure expressed in user timezone.
Definition: date.c:906
char * mutt_strn_copy(char *dest, const char *src, size_t len, size_t dsize)
Copy a sub-string into a buffer.
Definition: string.c:360
#define ASSERT(COND)
Definition: signal2.h:58
const char * end
End of string data.
Definition: node.h:80
const char * start
Start of string data.
Definition: node.h:79
time_t mtime
Modification time.
Definition: lib.h:81
A folder/dir in the browser.
Definition: lib.h:69
struct FolderFile * ff
File / Dir / Mailbox.
Definition: lib.h:70
locale_t time_c_locale
Current locale but LC_TIME=C.
Definition: neomutt.h:48
+ Here is the call graph for this function:

◆ folder_space()

void folder_space ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Fixed whitespace - Implements ExpandoRenderData::get_string() -.

Definition at line 246 of file dlg_browser.c.

248{
249 buf_addstr(buf, " ");
250}
+ Here is the call graph for this function:

◆ folder_d()

void folder_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Last modified - Implements ExpandoRenderData::get_string() -.

Definition at line 287 of file dlg_browser.c.

289{
290 const struct Folder *folder = data;
291 if (!folder->ff->local)
292 return;
293
294 static const time_t one_year = 31536000;
295 const char *t_fmt = ((mutt_date_now() - folder->ff->mtime) < one_year) ?
296 "%b %d %H:%M" :
297 "%b %d %Y";
298
299 char tmp[128] = { 0 };
300
301 mutt_date_localtime_format(tmp, sizeof(tmp), t_fmt, folder->ff->mtime);
302
303 buf_strcpy(buf, tmp);
304}
size_t mutt_date_localtime_format(char *buf, size_t buflen, const char *format, time_t t)
Format localtime.
Definition: date.c:951
time_t mutt_date_now(void)
Return the number of seconds since the Unix epoch.
Definition: date.c:456
+ Here is the call graph for this function:

◆ folder_D()

void folder_D ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Last modified ($date_format) - Implements ExpandoRenderData::get_string() -.

Definition at line 321 of file dlg_browser.c.

323{
324 const struct Folder *folder = data;
325 if (!folder->ff->local)
326 return;
327
328 char tmp[128] = { 0 };
329 bool use_c_locale = false;
330 const char *const c_date_format = cs_subset_string(NeoMutt->sub, "date_format");
331 const char *t_fmt = NONULL(c_date_format);
332 if (*t_fmt == '!')
333 {
334 t_fmt++;
335 use_c_locale = true;
336 }
337
338 if (use_c_locale)
339 {
340 mutt_date_localtime_format_locale(tmp, sizeof(tmp), t_fmt,
341 folder->ff->mtime, NeoMutt->time_c_locale);
342 }
343 else
344 {
345 mutt_date_localtime_format(tmp, sizeof(tmp), t_fmt, folder->ff->mtime);
346 }
347
348 buf_strcpy(buf, tmp);
349}
const char * cs_subset_string(const struct ConfigSubset *sub, const char *name)
Get a string config item by name.
Definition: helpers.c:291
size_t mutt_date_localtime_format_locale(char *buf, size_t buflen, const char *format, time_t t, locale_t loc)
Format localtime using a given locale.
Definition: date.c:969
#define NONULL(x)
Definition: string2.h:37
+ Here is the call graph for this function:

◆ folder_f()

void folder_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Filename - Implements ExpandoRenderData::get_string() -.

Definition at line 354 of file dlg_browser.c.

356{
357 const struct Folder *folder = data;
358
359 const char *s = NONULL(folder->ff->name);
360
361 buf_printf(buf, "%s%s", s,
362 folder->ff->local ?
363 (S_ISLNK(folder->ff->mode) ?
364 "@" :
365 (S_ISDIR(folder->ff->mode) ?
366 "/" :
367 (((folder->ff->mode & S_IXUSR) != 0) ? "*" : ""))) :
368 "");
369}
char * name
Name of file/dir/mailbox.
Definition: lib.h:86
mode_t mode
File permissions.
Definition: lib.h:79
+ Here is the call graph for this function:

◆ folder_F()

void folder_F ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: File permissions - Implements ExpandoRenderData::get_string() -.

Definition at line 374 of file dlg_browser.c.

376{
377 const struct Folder *folder = data;
378
379 if (folder->ff->local)
380 {
381 buf_printf(buf, "%c%c%c%c%c%c%c%c%c%c",
382 S_ISDIR(folder->ff->mode) ? 'd' : (S_ISLNK(folder->ff->mode) ? 'l' : '-'),
383 ((folder->ff->mode & S_IRUSR) != 0) ? 'r' : '-',
384 ((folder->ff->mode & S_IWUSR) != 0) ? 'w' : '-',
385 ((folder->ff->mode & S_ISUID) != 0) ? 's' :
386 ((folder->ff->mode & S_IXUSR) != 0) ? 'x' :
387 '-',
388 ((folder->ff->mode & S_IRGRP) != 0) ? 'r' : '-',
389 ((folder->ff->mode & S_IWGRP) != 0) ? 'w' : '-',
390 ((folder->ff->mode & S_ISGID) != 0) ? 's' :
391 ((folder->ff->mode & S_IXGRP) != 0) ? 'x' :
392 '-',
393 ((folder->ff->mode & S_IROTH) != 0) ? 'r' : '-',
394 ((folder->ff->mode & S_IWOTH) != 0) ? 'w' : '-',
395 ((folder->ff->mode & S_ISVTX) != 0) ? 't' :
396 ((folder->ff->mode & S_IXOTH) != 0) ? 'x' :
397 '-');
398 }
399 else if (folder->ff->imap)
400 {
401 /* mark folders with subfolders AND mail */
402 buf_printf(buf, "IMAP %c", (folder->ff->inferiors && folder->ff->selectable) ? '+' : ' ');
403 }
404}
bool selectable
Folder can be selected.
Definition: lib.h:96
bool imap
This is an IMAP folder.
Definition: lib.h:95
bool inferiors
Folder has children.
Definition: lib.h:97
+ Here is the call graph for this function:

◆ folder_g()

void folder_g ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Group name - Implements ExpandoRenderData::get_string() -.

Definition at line 409 of file dlg_browser.c.

411{
412 const struct Folder *folder = data;
413 if (!folder->ff->local)
414 return;
415
416 struct group *gr = getgrgid(folder->ff->gid);
417 if (gr)
418 {
419 buf_addstr(buf, gr->gr_name);
420 }
421 else
422 {
423 buf_printf(buf, "%u", folder->ff->gid);
424 }
425}
gid_t gid
File's Group ID.
Definition: lib.h:83
+ Here is the call graph for this function:

◆ folder_i()

void folder_i ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Description - Implements ExpandoRenderData::get_string() -.

Definition at line 430 of file dlg_browser.c.

432{
433 const struct Folder *folder = data;
434
435 const char *s = NULL;
436 if (folder->ff->desc)
437 s = folder->ff->desc;
438 else
439 s = folder->ff->name;
440
441 buf_printf(buf, "%s%s", s,
442 folder->ff->local ?
443 (S_ISLNK(folder->ff->mode) ?
444 "@" :
445 (S_ISDIR(folder->ff->mode) ?
446 "/" :
447 (((folder->ff->mode & S_IXUSR) != 0) ? "*" : ""))) :
448 "");
449}
char * desc
Description of mailbox.
Definition: lib.h:87
+ Here is the call graph for this function:

◆ folder_l()

void folder_l ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Hard links - Implements ExpandoRenderData::get_string() -.

Definition at line 467 of file dlg_browser.c.

469{
470 const struct Folder *folder = data;
471 if (!folder->ff->local)
472 return;
473
474 buf_add_printf(buf, "%d", (int) folder->ff->nlink);
475}
int buf_add_printf(struct Buffer *buf, const char *fmt,...)
Format a string appending a Buffer.
Definition: buffer.c:204
nlink_t nlink
Number of hard links.
Definition: lib.h:84
+ Here is the call graph for this function:

◆ folder_m()

void folder_m ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Number of messages - Implements ExpandoRenderData::get_string() -.

Definition at line 493 of file dlg_browser.c.

495{
496 const struct Folder *folder = data;
497 if (!folder->ff->has_mailbox)
498 return;
499
500 buf_add_printf(buf, "%d", folder->ff->msg_count);
501}
bool has_mailbox
This is a mailbox.
Definition: lib.h:98
int msg_count
total number of messages
Definition: lib.h:90
+ Here is the call graph for this function:

◆ folder_n()

void folder_n ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Number of unread messages - Implements ExpandoRenderData::get_string() -.

Definition at line 519 of file dlg_browser.c.

521{
522 const struct Folder *folder = data;
523 if (!folder->ff->has_mailbox)
524 return;
525
526 buf_add_printf(buf, "%d", folder->ff->msg_unread);
527}
int msg_unread
number of unread messages
Definition: lib.h:91
+ Here is the call graph for this function:

◆ folder_N()

void folder_N ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: New mail flag - Implements ExpandoRenderData::get_string() -.

Definition at line 541 of file dlg_browser.c.

543{
544 const struct Folder *folder = data;
545
546 // NOTE(g0mb4): use $to_chars?
547 const char *s = folder->ff->has_new_mail ? "N" : " ";
548 buf_strcpy(buf, s);
549}
bool has_new_mail
true if mailbox has "new mail"
Definition: lib.h:89
+ Here is the call graph for this function:

◆ folder_s()

void folder_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Size in bytes - Implements ExpandoRenderData::get_string() -.

Definition at line 573 of file dlg_browser.c.

575{
576 const struct Folder *folder = data;
577
578 char tmp[128] = { 0 };
579
580 mutt_str_pretty_size(tmp, sizeof(tmp), folder->ff->size);
581 buf_strcpy(buf, tmp);
582}
off_t size
File size.
Definition: lib.h:80
+ Here is the call graph for this function:

◆ folder_t()

void folder_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Is Tagged - Implements ExpandoRenderData::get_string() -.

Definition at line 596 of file dlg_browser.c.

598{
599 const struct Folder *folder = data;
600
601 // NOTE(g0mb4): use $to_chars?
602 const char *s = folder->ff->tagged ? "*" : " ";
603 buf_strcpy(buf, s);
604}
bool tagged
Folder is tagged.
Definition: lib.h:102
+ Here is the call graph for this function:

◆ folder_u()

void folder_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Browser: Owner name - Implements ExpandoRenderData::get_string() -.

Definition at line 609 of file dlg_browser.c.

611{
612 const struct Folder *folder = data;
613 if (!folder->ff->local)
614 return;
615
616 struct passwd *pw = getpwuid(folder->ff->uid);
617 if (pw)
618 {
619 buf_addstr(buf, pw->pw_name);
620 }
621 else
622 {
623 buf_printf(buf, "%u", folder->ff->uid);
624 }
625}
uid_t uid
File's User ID.
Definition: lib.h:82
+ Here is the call graph for this function:

◆ compress_f()

void compress_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Compress: From filename - Implements ExpandoRenderData::get_string() -.

Definition at line 287 of file compress.c.

289{
290 const struct Mailbox *m = data;
291
292 struct Buffer *quoted = buf_pool_get();
293 buf_quote_filename(quoted, m->realpath, false);
294 buf_copy(buf, quoted);
295 buf_pool_release(&quoted);
296}
void buf_quote_filename(struct Buffer *buf, const char *filename, bool add_outer)
Quote a filename to survive the shell's quoting rules.
Definition: file.c:933
A mailbox.
Definition: mailbox.h:79
char * realpath
Used for duplicate detection, context comparison, and the sidebar.
Definition: mailbox.h:81
+ Here is the call graph for this function:

◆ compress_t()

void compress_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Compress: To filename - Implements ExpandoRenderData::get_string() -.

Definition at line 301 of file compress.c.

303{
304 const struct Mailbox *m = data;
305
306 struct Buffer *quoted = buf_pool_get();
307 buf_quote_filename(quoted, mailbox_path(m), false);
308 buf_copy(buf, quoted);
309 buf_pool_release(&quoted);
310}
static const char * mailbox_path(const struct Mailbox *m)
Get the Mailbox's path string.
Definition: mailbox.h:223
+ Here is the call graph for this function:

◆ compose_h()

void compose_h ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Compose: Hostname - Implements ExpandoRenderData::get_string() -.

Definition at line 108 of file cbar.c.

110{
111 const char *s = ShortHostname;
112 buf_strcpy(buf, s);
113}
char * ShortHostname
Short version of the hostname.
Definition: globals.c:39
+ Here is the call graph for this function:

◆ compose_l()

void compose_l ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Compose: Size in bytes - Implements ExpandoRenderData::get_string() -.

Definition at line 127 of file cbar.c.

129{
130 const struct ComposeSharedData *shared = data;
131
132 char tmp[128] = { 0 };
133
134 mutt_str_pretty_size(tmp, sizeof(tmp), cum_attachs_size(shared->sub, shared->adata));
135 buf_strcpy(buf, tmp);
136}
unsigned long cum_attachs_size(struct ConfigSubset *sub, struct ComposeAttachData *adata)
Cumulative Attachments Size.
Definition: attach.c:84
Shared Compose Data.
Definition: shared_data.h:35
struct ConfigSubset * sub
Config set to use.
Definition: shared_data.h:36
struct ComposeAttachData * adata
Attachments.
Definition: shared_data.h:39
+ Here is the call graph for this function:

◆ compose_v()

void compose_v ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Compose: Version - Implements ExpandoRenderData::get_string() -.

Definition at line 141 of file cbar.c.

143{
144 const char *s = mutt_make_version();
145 buf_strcpy(buf, s);
146}
const char * mutt_make_version(void)
Generate the NeoMutt version string.
Definition: muttlib.c:893
+ Here is the call graph for this function:

◆ index_date_recv_local()

void index_date_recv_local ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Local received date and time - Implements ExpandoRenderData::get_string() -.

Definition at line 320 of file hdrline.c.

322{
323 const struct HdrFormatInfo *hfi = data;
324 const struct Email *e = hfi->email;
325 if (!e)
326 return;
327
328 struct tm tm = mutt_date_localtime(e->received);
329
330 char tmp[128] = { 0 };
331 char tmp2[128] = { 0 };
332
333 int len = node->end - node->start;
334 const char *start = node->start;
335
336 bool use_c_locale = false;
337 if (*start == '!')
338 {
339 use_c_locale = true;
340 start++;
341 len--;
342 }
343 ASSERT(len < sizeof(tmp2));
344 mutt_strn_copy(tmp2, start, len, sizeof(tmp2));
345
346 if (use_c_locale)
347 {
348 strftime_l(tmp, sizeof(tmp), tmp2, &tm, NeoMutt->time_c_locale);
349 }
350 else
351 {
352 strftime(tmp, sizeof(tmp), tmp2, &tm);
353 }
354
355 if (flags & MUTT_FORMAT_INDEX)
357 buf_strcpy(buf, tmp);
358}
@ MT_COLOR_INDEX_DATE
Index: date field.
Definition: color.h:86
#define MUTT_FORMAT_INDEX
This is a main index entry.
Definition: render.h:38
The envelope/body of an email.
Definition: email.h:39
time_t received
Time when the message was placed in the mailbox.
Definition: email.h:61
Data passed to index_format_str()
Definition: hdrline.c:71
struct Email * email
Current Email.
Definition: hdrline.c:74
+ Here is the call graph for this function:

◆ index_date_local()

void index_date_local ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Local date and time - Implements ExpandoRenderData::get_string() -.

Definition at line 376 of file hdrline.c.

378{
379 const struct HdrFormatInfo *hfi = data;
380 const struct Email *e = hfi->email;
381 if (!e)
382 return;
383
384 struct tm tm = mutt_date_localtime(e->date_sent);
385
386 char tmp[128] = { 0 };
387 char tmp2[128] = { 0 };
388
389 int len = node->end - node->start;
390 const char *start = node->start;
391
392 bool use_c_locale = false;
393 if (*start == '!')
394 {
395 use_c_locale = true;
396 start++;
397 len--;
398 }
399 ASSERT(len < sizeof(tmp2));
400 mutt_strn_copy(tmp2, start, len, sizeof(tmp2));
401
402 if (use_c_locale)
403 {
404 strftime_l(tmp, sizeof(tmp), tmp2, &tm, NeoMutt->time_c_locale);
405 }
406 else
407 {
408 strftime(tmp, sizeof(tmp), tmp2, &tm);
409 }
410
411 if (flags & MUTT_FORMAT_INDEX)
413 buf_strcpy(buf, tmp);
414}
time_t date_sent
Time when the message was sent (UTC)
Definition: email.h:60
+ Here is the call graph for this function:

◆ index_date()

void index_date ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Sender's date and time - Implements ExpandoRenderData::get_string() -.

Definition at line 432 of file hdrline.c.

434{
435 const struct HdrFormatInfo *hfi = data;
436 const struct Email *e = hfi->email;
437 if (!e)
438 return;
439
440 time_t now = e->date_sent;
441 if (e->zoccident)
442 now -= (e->zhours * 3600 + e->zminutes * 60);
443 else
444 now += (e->zhours * 3600 + e->zminutes * 60);
445
446 struct tm tm = mutt_date_gmtime(now);
447
448 char tmp[128] = { 0 };
449 char tmp2[128] = { 0 };
450
451 int len = node->end - node->start;
452 const char *start = node->start;
453
454 bool use_c_locale = false;
455 if (*start == '!')
456 {
457 use_c_locale = true;
458 start++;
459 len--;
460 }
461 ASSERT(len < sizeof(tmp2));
462 mutt_strn_copy(tmp2, start, len, sizeof(tmp2));
463
464 if (use_c_locale)
465 {
466 strftime_l(tmp, sizeof(tmp), tmp2, &tm, NeoMutt->time_c_locale);
467 }
468 else
469 {
470 strftime(tmp, sizeof(tmp), tmp2, &tm);
471 }
472
473 if (flags & MUTT_FORMAT_INDEX)
475 buf_strcpy(buf, tmp);
476}
struct tm mutt_date_gmtime(time_t t)
Converts calendar time to a broken-down time structure expressed in UTC timezone.
Definition: date.c:927
unsigned int zminutes
Minutes away from UTC.
Definition: email.h:57
bool zoccident
True, if west of UTC, False if east.
Definition: email.h:58
unsigned int zhours
Hours away from UTC.
Definition: email.h:56
+ Here is the call graph for this function:

◆ index_format_hook()

void index_format_hook ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: index-format-hook - Implements ExpandoRenderData::get_string() -.

Definition at line 481 of file hdrline.c.

483{
484 const struct HdrFormatInfo *hfi = data;
485 struct Email *e = hfi->email;
486 if (!e)
487 return;
488
489 struct Mailbox *m = hfi->mailbox;
490
491 char tmp[128] = { 0 };
492 const int len = node->end - node->start;
493
494 mutt_strn_copy(tmp, node->start, len, sizeof(tmp));
495
496 const struct Expando *exp = mutt_idxfmt_hook(tmp, m, e);
497 if (!exp)
498 return;
499
501}
int expando_filter(const struct Expando *exp, const struct ExpandoRenderData *rdata, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Render an Expando and run the result through a filter.
Definition: filter.c:141
const struct ExpandoRenderData IndexRenderData[]
Callbacks for Index Expandos.
Definition: hdrline.c:65
const struct Expando * mutt_idxfmt_hook(const char *name, struct Mailbox *m, struct Email *e)
Get index-format-hook format string.
Definition: hook.c:983
#define MUTT_FORMAT_NO_FLAGS
No flags are set.
Definition: render.h:33
size_t dsize
Length of data.
Definition: buffer.h:39
struct Mailbox * mailbox
Current Mailbox.
Definition: hdrline.c:72
+ Here is the call graph for this function:

◆ index_a()

void index_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Author Address - Implements ExpandoRenderData::get_string() -.

Definition at line 506 of file hdrline.c.

508{
509 const struct HdrFormatInfo *hfi = data;
510 const struct Email *e = hfi->email;
511 if (!e || !e->env)
512 return;
513
514 const struct Address *from = TAILQ_FIRST(&e->env->from);
515
516 const char *s = NULL;
517 if (from && from->mailbox)
518 {
519 s = mutt_addr_for_display(from);
520 }
521
522 if (flags & MUTT_FORMAT_INDEX)
524 buf_strcpy(buf, s);
525}
const char * mutt_addr_for_display(const struct Address *a)
Convert an Address for display purposes.
Definition: address.c:1012
@ MT_COLOR_INDEX_AUTHOR
Index: author field.
Definition: color.h:84
#define TAILQ_FIRST(head)
Definition: queue.h:723
An email address.
Definition: address.h:36
struct Envelope * env
Envelope information.
Definition: email.h:68
struct AddressList from
Email's 'From' list.
Definition: envelope.h:59
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ index_A()

void index_A ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Reply-to address - Implements ExpandoRenderData::get_string() -.

Definition at line 530 of file hdrline.c.

532{
533 const struct HdrFormatInfo *hfi = data;
534 const struct Email *e = hfi->email;
535 if (!e || !e->env)
536 return;
537
538 const struct Address *reply_to = TAILQ_FIRST(&e->env->reply_to);
539
540 if (reply_to && reply_to->mailbox)
541 {
542 if (flags & MUTT_FORMAT_INDEX)
544 const char *s = mutt_addr_for_display(reply_to);
545 buf_strcpy(buf, s);
546 return;
547 }
548
549 index_a(node, data, flags, max_cols, buf);
550}
void index_a(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Index: Author Address - Implements ExpandoRenderData::get_string() -.
Definition: hdrline.c:506
struct AddressList reply_to
Email's 'reply-to'.
Definition: envelope.h:64
+ Here is the call graph for this function:

◆ index_b()

void index_b ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Filename - Implements ExpandoRenderData::get_string() -.

Definition at line 555 of file hdrline.c.

557{
558 const struct HdrFormatInfo *hfi = data;
559 struct Mailbox *m = hfi->mailbox;
560 if (!m)
561 {
562 buf_addstr(buf, "(null)");
563 return;
564 }
565
566 char *p = NULL;
567
568#ifdef USE_NOTMUCH
569 struct Email *e = hfi->email;
570 if (m->type == MUTT_NOTMUCH)
571 {
573 }
574#endif
575 if (!p)
576 {
577 p = strrchr(mailbox_path(m), '/');
578 if (p)
579 {
580 p++;
581 }
582 }
583 buf_addstr(buf, p ? p : mailbox_path(m));
584}
@ MUTT_NOTMUCH
'Notmuch' (virtual) Mailbox type
Definition: mailbox.h:51
char * nm_email_get_folder_rel_db(struct Mailbox *m, struct Email *e)
Get the folder for a Email from the same level as the notmuch database.
Definition: notmuch.c:1488
enum MailboxType type
Mailbox type.
Definition: mailbox.h:102
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ index_B()

void index_B ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Email list - Implements ExpandoRenderData::get_string() -.

Definition at line 589 of file hdrline.c.

591{
592 const struct HdrFormatInfo *hfi = data;
593 const struct Email *e = hfi->email;
594 if (!e || !e->env)
595 return;
596
597 char tmp[128] = { 0 };
598
599 if (first_mailing_list(tmp, sizeof(tmp), &e->env->to) ||
600 first_mailing_list(tmp, sizeof(tmp), &e->env->cc))
601 {
602 buf_strcpy(buf, tmp);
603 return;
604 }
605
606 index_b(node, data, flags, max_cols, buf);
607}
void index_b(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Index: Filename - Implements ExpandoRenderData::get_string() -.
Definition: hdrline.c:555
bool first_mailing_list(char *buf, size_t buflen, struct AddressList *al)
Get the first mailing list in the list of addresses.
Definition: maillist.c:125
struct AddressList to
Email's 'To' list.
Definition: envelope.h:60
struct AddressList cc
Email's 'Cc' list.
Definition: envelope.h:61
+ Here is the call graph for this function:

◆ index_c()

void index_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Number of bytes - Implements ExpandoRenderData::get_string() -.

Definition at line 625 of file hdrline.c.

627{
628 const struct HdrFormatInfo *hfi = data;
629 const struct Email *e = hfi->email;
630 if (!e)
631 return;
632
633 char tmp[128] = { 0 };
634
635 if (flags & MUTT_FORMAT_INDEX)
637
638 mutt_str_pretty_size(tmp, sizeof(tmp), e->body->length);
639 buf_strcpy(buf, tmp);
640}
@ MT_COLOR_INDEX_SIZE
Index: size field.
Definition: color.h:90
struct Body * body
List of MIME parts.
Definition: email.h:69
+ Here is the call graph for this function:

◆ index_cr()

void index_cr ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Number of raw bytes - Implements ExpandoRenderData::get_string() -.

Definition at line 645 of file hdrline.c.

647{
648 const struct HdrFormatInfo *hfi = (const struct HdrFormatInfo *) data;
649 const struct Email *e = hfi->email;
650 if (!e)
651 return;
652
653 char tmp[128] = { 0 };
654
655 if (flags & MUTT_FORMAT_INDEX)
657
658 mutt_str_pretty_size(tmp, sizeof(tmp), email_size(e));
659 buf_strcpy(buf, tmp);
660}
size_t email_size(const struct Email *e)
Compute the size of an email.
Definition: email.c:127
+ Here is the call graph for this function:

◆ index_d()

void index_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Senders Date and time - Implements ExpandoRenderData::get_string() -.

Definition at line 694 of file hdrline.c.

696{
697 const struct HdrFormatInfo *hfi = data;
698 const struct Email *e = hfi->email;
699 if (!e)
700 return;
701
702 const char *c_date_format = cs_subset_string(NeoMutt->sub, "date_format");
703 const char *cp = NONULL(c_date_format);
704 bool use_c_locale = false;
705 if (*cp == '!')
706 {
707 use_c_locale = true;
708 cp++;
709 }
710
711 /* restore sender's time zone */
712 time_t now = e->date_sent;
713 if (e->zoccident)
714 now -= (e->zhours * 3600 + e->zminutes * 60);
715 else
716 now += (e->zhours * 3600 + e->zminutes * 60);
717
718 struct tm tm = mutt_date_gmtime(now);
719 char tmp[128] = { 0 };
720
721 if (use_c_locale)
722 {
723 strftime_l(tmp, sizeof(tmp), cp, &tm, NeoMutt->time_c_locale);
724 }
725 else
726 {
727 strftime(tmp, sizeof(tmp), cp, &tm);
728 }
729
730 if (flags & MUTT_FORMAT_INDEX)
732
733 buf_strcpy(buf, tmp);
734}
+ Here is the call graph for this function:

◆ index_D()

void index_D ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Local Date and time - Implements ExpandoRenderData::get_string() -.

Definition at line 752 of file hdrline.c.

754{
755 const struct HdrFormatInfo *hfi = data;
756 const struct Email *e = hfi->email;
757 if (!e)
758 return;
759
760 const char *c_date_format = cs_subset_string(NeoMutt->sub, "date_format");
761 const char *cp = NONULL(c_date_format);
762 bool use_c_locale = false;
763 if (*cp == '!')
764 {
765 use_c_locale = true;
766 cp++;
767 }
768
769 struct tm tm = mutt_date_localtime(e->date_sent);
770 char tmp[128] = { 0 };
771
772 if (use_c_locale)
773 {
774 strftime_l(tmp, sizeof(tmp), cp, &tm, NeoMutt->time_c_locale);
775 }
776 else
777 {
778 strftime(tmp, sizeof(tmp), cp, &tm);
779 }
780
781 if (flags & MUTT_FORMAT_INDEX)
783
784 buf_strcpy(buf, tmp);
785}
+ Here is the call graph for this function:

◆ index_f()

void index_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Sender - Implements ExpandoRenderData::get_string() -.

Definition at line 814 of file hdrline.c.

816{
817 const struct HdrFormatInfo *hfi = data;
818 struct Email *e = hfi->email;
819 if (!e || !e->env)
820 return;
821
822 mutt_addrlist_write(&e->env->from, buf, true);
823}
+ Here is the call graph for this function:

◆ index_F()

void index_F ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Author name - Implements ExpandoRenderData::get_string() -.

Definition at line 828 of file hdrline.c.

830{
831 const struct HdrFormatInfo *hfi = data;
832 struct Email *e = hfi->email;
833 if (!e || !e->env)
834 return;
835
836 char tmp[128] = { 0 };
837
838 make_from(e->env, tmp, sizeof(tmp), false, MUTT_FORMAT_NO_FLAGS);
839
840 if (flags & MUTT_FORMAT_INDEX)
842
843 buf_strcpy(buf, tmp);
844}
static void make_from(struct Envelope *env, char *buf, size_t buflen, bool do_lists, MuttFormatFlags flags)
Generate a From: field (with optional prefix)
Definition: hdrline.c:137
+ Here is the call graph for this function:

◆ index_Fp()

void index_Fp ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Plain author name - Implements ExpandoRenderData::get_string() -.

Definition at line 849 of file hdrline.c.

851{
852 const struct HdrFormatInfo *hfi = (const struct HdrFormatInfo *) data;
853 struct Email *e = hfi->email;
854 if (!e || !e->env)
855 return;
856
857 char tmp[128] = { 0 };
858
859 if (flags & MUTT_FORMAT_INDEX)
861
862 make_from(e->env, tmp, sizeof(tmp), false, MUTT_FORMAT_PLAIN);
863
864 buf_strcpy(buf, tmp);
865}
#define MUTT_FORMAT_PLAIN
Do not prepend DISP_TO, DISP_CC ...
Definition: render.h:39
+ Here is the call graph for this function:

◆ index_g()

void index_g ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Message tags - Implements ExpandoRenderData::get_string() -.

Definition at line 870 of file hdrline.c.

872{
873 const struct HdrFormatInfo *hfi = data;
874 struct Email *e = hfi->email;
875 if (!e)
876 return;
877
878 if (flags & MUTT_FORMAT_INDEX)
881}
@ MT_COLOR_INDEX_TAGS
Index: tags field (g, J)
Definition: color.h:93
struct TagList tags
For drivers that support server tagging.
Definition: email.h:72
void driver_tags_get_transformed(struct TagList *tl, struct Buffer *tags)
Get transformed tags separated by space.
Definition: tags.c:152
+ Here is the call graph for this function:

◆ index_G()

void index_G ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Individual tag - Implements ExpandoRenderData::get_string() -.

Definition at line 886 of file hdrline.c.

888{
889 const struct HdrFormatInfo *hfi = data;
890 struct Email *e = hfi->email;
891 if (!e)
892 return;
893
894 char tag_format[3] = { 0 };
895
896 tag_format[0] = 'G';
897 tag_format[1] = node->start[1];
898 tag_format[2] = '\0';
899
900 char *tag = mutt_hash_find(TagFormats, tag_format);
901 if (!tag)
902 return;
903
904 if (flags & MUTT_FORMAT_INDEX)
907}
@ MT_COLOR_INDEX_TAG
Index: tag field (G)
Definition: color.h:92
void * mutt_hash_find(const struct HashTable *table, const char *strkey)
Find the HashElem data in a Hash Table element using a key.
Definition: hash.c:362
struct HashTable * TagFormats
Hash Table: "inbox" -> "GI" - Tag format strings.
Definition: tags.c:42
void driver_tags_get_transformed_for(struct TagList *tl, const char *name, struct Buffer *tags)
Get transformed tags for a tag name separated by space.
Definition: tags.c:187
+ Here is the call graph for this function:

◆ index_H()

void index_H ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Spam attributes - Implements ExpandoRenderData::get_string() -.

Definition at line 912 of file hdrline.c.

914{
915 const struct HdrFormatInfo *hfi = data;
916 struct Email *e = hfi->email;
917 if (!e || !e->env)
918 return;
919
920 buf_copy(buf, &e->env->spam);
921}
struct Buffer spam
Spam header.
Definition: envelope.h:82
+ Here is the call graph for this function:

◆ index_i()

void index_i ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Message-id - Implements ExpandoRenderData::get_string() -.

Definition at line 926 of file hdrline.c.

928{
929 const struct HdrFormatInfo *hfi = data;
930 struct Email *e = hfi->email;
931 if (!e || !e->env)
932 return;
933
934 const char *s = e->env->message_id ? e->env->message_id : "<no.id>";
935 buf_strcpy(buf, s);
936}
char * message_id
Message ID.
Definition: envelope.h:73
+ Here is the call graph for this function:

◆ index_I()

void index_I ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Initials of author - Implements ExpandoRenderData::get_string() -.

Definition at line 941 of file hdrline.c.

943{
944 const struct HdrFormatInfo *hfi = data;
945 const struct Email *e = hfi->email;
946 if (!e || !e->env)
947 return;
948
949 const struct Address *from = TAILQ_FIRST(&e->env->from);
950
951 char tmp[128] = { 0 };
952
953 if (mutt_mb_get_initials(mutt_get_name(from), tmp, sizeof(tmp)))
954 {
955 if (flags & MUTT_FORMAT_INDEX)
957
958 buf_strcpy(buf, tmp);
959 return;
960 }
961
962 index_a(node, data, flags, max_cols, buf);
963}
bool mutt_mb_get_initials(const char *name, char *buf, size_t buflen)
Turn a name into initials.
Definition: mbyte.c:82
const char * mutt_get_name(const struct Address *a)
Pick the best name to display from an address.
Definition: sort.c:134
+ Here is the call graph for this function:

◆ index_J()

void index_J ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Tags - Implements ExpandoRenderData::get_string() -.

Definition at line 968 of file hdrline.c.

970{
971 const struct HdrFormatInfo *hfi = data;
972 struct Email *e = hfi->email;
973 if (!e)
974 return;
975
976 bool have_tags = true;
977 struct Buffer *tags = buf_pool_get();
979 if (!buf_is_empty(tags))
980 {
981 if (flags & MUTT_FORMAT_TREE)
982 {
983 struct Buffer *parent_tags = buf_pool_get();
984 if (e->thread->prev && e->thread->prev->message)
985 {
987 }
988 if (!parent_tags && e->thread->parent && e->thread->parent->message)
989 {
991 }
992 if (parent_tags && buf_istr_equal(tags, parent_tags))
993 have_tags = false;
994 buf_pool_release(&parent_tags);
995 }
996 }
997 else
998 {
999 have_tags = false;
1000 }
1001
1002 if (flags & MUTT_FORMAT_INDEX)
1004
1005 const char *s = have_tags ? buf_string(tags) : "";
1006 buf_strcpy(buf, s);
1007
1008 buf_pool_release(&tags);
1009}
bool buf_istr_equal(const struct Buffer *a, const struct Buffer *b)
Return if two buffers are equal, case insensitive.
Definition: buffer.c:697
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
Definition: buffer.c:291
#define MUTT_FORMAT_TREE
Draw the thread tree.
Definition: render.h:35
struct MuttThread * thread
Thread of Emails.
Definition: email.h:122
struct MuttThread * parent
Parent of this Thread.
Definition: thread.h:44
struct MuttThread * prev
Previous sibling Thread.
Definition: thread.h:47
struct Email * message
Email this Thread refers to.
Definition: thread.h:49
+ Here is the call graph for this function:

◆ index_K()

void index_K ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Mailing list - Implements ExpandoRenderData::get_string() -.

Definition at line 1014 of file hdrline.c.

1016{
1017 const struct HdrFormatInfo *hfi = data;
1018 const struct Email *e = hfi->email;
1019 if (!e || !e->env)
1020 return;
1021
1022 char tmp[128] = { 0 };
1023
1024 if (first_mailing_list(tmp, sizeof(tmp), &e->env->to) ||
1025 first_mailing_list(tmp, sizeof(tmp), &e->env->cc))
1026 {
1027 buf_strcpy(buf, tmp);
1028 }
1029}
+ Here is the call graph for this function:

◆ index_L()

void index_L ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: List address - Implements ExpandoRenderData::get_string() -.

Definition at line 1050 of file hdrline.c.

1052{
1053 const struct HdrFormatInfo *hfi = data;
1054 const struct Email *e = hfi->email;
1055 if (!e)
1056 return;
1057
1058 char tmp[128] = { 0 };
1059
1060 make_from(e->env, tmp, sizeof(tmp), true, flags);
1061
1062 if (flags & MUTT_FORMAT_INDEX)
1064 buf_strcpy(buf, tmp);
1065}
+ Here is the call graph for this function:

◆ index_M()

void index_M ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Number of hidden messages - Implements ExpandoRenderData::get_string() -.

Definition at line 1084 of file hdrline.c.

1086{
1087 const struct HdrFormatInfo *hfi = data;
1088 const struct Email *e = hfi->email;
1089 if (!e)
1090 return;
1091
1092 const bool threads = mutt_using_threads();
1093 const bool is_index = (flags & MUTT_FORMAT_INDEX) != 0;
1094
1095 if (threads && is_index && e->collapsed && (e->num_hidden > 1))
1096 {
1097 if (flags & MUTT_FORMAT_INDEX)
1099 const int num = e->num_hidden;
1100 buf_printf(buf, "%d", num);
1101 }
1102 else if (is_index && threads)
1103 {
1104 if (flags & MUTT_FORMAT_INDEX)
1106 const char *s = " ";
1107 buf_strcpy(buf, s);
1108 }
1109}
@ MT_COLOR_INDEX_COLLAPSED
Index: number of messages in collapsed thread.
Definition: color.h:85
#define mutt_using_threads()
Definition: mutt_thread.h:114
bool collapsed
Is this message part of a collapsed thread?
Definition: email.h:123
size_t num_hidden
Number of hidden messages in this view (only valid when collapsed is set)
Definition: email.h:126
+ Here is the call graph for this function:

◆ index_n()

void index_n ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Author's real name - Implements ExpandoRenderData::get_string() -.

Definition at line 1137 of file hdrline.c.

1139{
1140 const struct HdrFormatInfo *hfi = data;
1141 const struct Email *e = hfi->email;
1142 if (!e || !e->env)
1143 return;
1144
1145 const struct Address *from = TAILQ_FIRST(&e->env->from);
1146
1147 if (flags & MUTT_FORMAT_INDEX)
1149
1150 const char *s = mutt_get_name(from);
1151 buf_strcpy(buf, s);
1152}
+ Here is the call graph for this function:

◆ index_O()

void index_O ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: List Name or Save folder - Implements ExpandoRenderData::get_string() -.

Definition at line 1170 of file hdrline.c.

1172{
1173 const struct HdrFormatInfo *hfi = data;
1174 const struct Email *e = hfi->email;
1175 if (!e || !e->env)
1176 return;
1177
1178 char tmp[128] = { 0 };
1179 char *p = NULL;
1180
1181 make_from_addr(e->env, tmp, sizeof(tmp), true);
1182 const bool c_save_address = cs_subset_bool(NeoMutt->sub, "save_address");
1183 if (!c_save_address && (p = strpbrk(tmp, "%@")))
1184 {
1185 *p = '\0';
1186 }
1187
1188 buf_strcpy(buf, tmp);
1189}
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
Definition: helpers.c:47
static void make_from_addr(struct Envelope *env, char *buf, size_t buflen, bool do_lists)
Create a 'from' address for a reply email.
Definition: hdrline.c:193
+ Here is the call graph for this function:

◆ index_P()

void index_P ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Progress indicator - Implements ExpandoRenderData::get_string() -.

Definition at line 1194 of file hdrline.c.

1196{
1197 const struct HdrFormatInfo *hfi = data;
1198
1199 const char *s = hfi->pager_progress;
1200 buf_strcpy(buf, s);
1201}
const char * pager_progress
String representing Pager position through Email.
Definition: hdrline.c:75
+ Here is the call graph for this function:

◆ index_q()

void index_q ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Newsgroup name - Implements ExpandoRenderData::get_string() -.

Definition at line 1206 of file hdrline.c.

1208{
1209 const struct HdrFormatInfo *hfi = data;
1210 const struct Email *e = hfi->email;
1211 if (!e || !e->env)
1212 return;
1213
1214 const char *s = e->env->newsgroups;
1215 buf_strcpy(buf, s);
1216}
char * newsgroups
List of newsgroups.
Definition: envelope.h:78
+ Here is the call graph for this function:

◆ index_r()

void index_r ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: To recipients - Implements ExpandoRenderData::get_string() -.

Definition at line 1221 of file hdrline.c.

1223{
1224 const struct HdrFormatInfo *hfi = data;
1225 const struct Email *e = hfi->email;
1226 if (!e || !e->env)
1227 return;
1228
1229 mutt_addrlist_write(&e->env->to, buf, true);
1230}
+ Here is the call graph for this function:

◆ index_R()

void index_R ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Cc recipients - Implements ExpandoRenderData::get_string() -.

Definition at line 1235 of file hdrline.c.

1237{
1238 const struct HdrFormatInfo *hfi = data;
1239 const struct Email *e = hfi->email;
1240 if (!e || !e->env)
1241 return;
1242
1243 mutt_addrlist_write(&e->env->cc, buf, true);
1244}
+ Here is the call graph for this function:

◆ index_s()

void index_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Subject - Implements ExpandoRenderData::get_string() -.

Definition at line 1249 of file hdrline.c.

1251{
1252 const struct HdrFormatInfo *hfi = data;
1253 const struct Email *e = hfi->email;
1254 if (!e || !e->env)
1255 return;
1256
1257 if ((flags & MUTT_FORMAT_TREE) && !e->collapsed && !(flags & MUTT_FORMAT_FORCESUBJ))
1258 return;
1259
1260 if (flags & MUTT_FORMAT_INDEX)
1262
1264
1265 if (e->env->disp_subj)
1266 buf_strcpy(buf, e->env->disp_subj);
1267 else
1268 buf_strcpy(buf, e->env->subject);
1269}
@ MT_COLOR_INDEX_SUBJECT
Index: subject field.
Definition: color.h:91
char *const subject
Email's subject.
Definition: envelope.h:70
char * disp_subj
Display subject (modified copy of subject)
Definition: envelope.h:72
bool subjrx_apply_mods(struct Envelope *env)
Apply regex modifications to the subject.
Definition: subjectrx.c:133
+ Here is the call graph for this function:

◆ index_S()

void index_S ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Status flag - Implements ExpandoRenderData::get_string() -.

Definition at line 1274 of file hdrline.c.

1276{
1277 const struct HdrFormatInfo *hfi = data;
1278 const struct Email *e = hfi->email;
1279 if (!e)
1280 return;
1281
1282 const struct MbTable *c_flag_chars = cs_subset_mbtable(NeoMutt->sub, "flag_chars");
1283 const int msg_in_pager = hfi->msg_in_pager;
1284
1285 const char *wch = NULL;
1286 if (e->deleted)
1287 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_DELETED);
1288 else if (e->attach_del)
1290 else if (e->tagged)
1291 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_TAGGED);
1292 else if (e->flagged)
1293 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_IMPORTANT);
1294 else if (e->replied)
1295 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_REPLIED);
1296 else if (e->read && (msg_in_pager != e->msgno))
1297 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_SEMPTY);
1298 else if (e->old)
1299 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_OLD);
1300 else
1301 wch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_NEW);
1302
1303 if (flags & MUTT_FORMAT_INDEX)
1305
1306 buf_strcpy(buf, wch);
1307}
@ MT_COLOR_INDEX_FLAGS
Index: flags field.
Definition: color.h:87
struct MbTable * cs_subset_mbtable(const struct ConfigSubset *sub, const char *name)
Get a Multibyte table config item by name.
Definition: helpers.c:119
@ FLAG_CHAR_OLD
Character denoting an email that has been read.
Definition: hdrline.h:45
@ FLAG_CHAR_REPLIED
Character denoting an email that has been replied to.
Definition: hdrline.h:44
@ FLAG_CHAR_TAGGED
Character denoting a tagged email.
Definition: hdrline.h:40
@ FLAG_CHAR_NEW
Character denoting an unread email.
Definition: hdrline.h:46
@ FLAG_CHAR_DELETED
Character denoting a deleted email.
Definition: hdrline.h:42
@ FLAG_CHAR_DELETED_ATTACH
Character denoting a deleted attachment.
Definition: hdrline.h:43
@ FLAG_CHAR_SEMPTY
Character denoting a read email, $index_format S expando.
Definition: hdrline.h:49
@ FLAG_CHAR_IMPORTANT
Character denoting a important (flagged) email.
Definition: hdrline.h:41
const char * mbtable_get_nth_wchar(const struct MbTable *table, int index)
Extract one char from a multi-byte table.
Definition: mbtable.c:331
bool read
Email is read.
Definition: email.h:50
bool old
Email is seen, but unread.
Definition: email.h:49
bool attach_del
Has an attachment marked for deletion.
Definition: email.h:102
bool flagged
Marked important?
Definition: email.h:47
bool replied
Email has been replied to.
Definition: email.h:51
int msgno
Number displayed to the user.
Definition: email.h:114
bool deleted
Email is deleted.
Definition: email.h:78
bool tagged
Email is tagged.
Definition: email.h:110
int msg_in_pager
Index of Email displayed in the Pager.
Definition: hdrline.c:73
Multibyte character table.
Definition: mbtable.h:36
+ Here is the call graph for this function:

◆ index_t()

void index_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: To field - Implements ExpandoRenderData::get_string() -.

Definition at line 1312 of file hdrline.c.

1314{
1315 const struct HdrFormatInfo *hfi = data;
1316 const struct Email *e = hfi->email;
1317 if (!e || !e->env)
1318 return;
1319
1320 const struct Address *to = TAILQ_FIRST(&e->env->to);
1321 const struct Address *cc = TAILQ_FIRST(&e->env->cc);
1322
1323 char tmp[128] = { 0 };
1324
1325 if (!check_for_mailing_list(&e->env->to, "To ", tmp, sizeof(tmp)) &&
1326 !check_for_mailing_list(&e->env->cc, "Cc ", tmp, sizeof(tmp)))
1327 {
1328 if (to)
1329 snprintf(tmp, sizeof(tmp), "To %s", mutt_get_name(to));
1330 else if (cc)
1331 snprintf(tmp, sizeof(tmp), "Cc %s", mutt_get_name(cc));
1332 else
1333 {
1334 tmp[0] = '\0';
1335 }
1336 }
1337
1338 buf_strcpy(buf, tmp);
1339}
bool check_for_mailing_list(struct AddressList *al, const char *pfx, char *buf, int buflen)
Search list of addresses for a mailing list.
Definition: maillist.c:79
+ Here is the call graph for this function:

◆ index_T()

void index_T ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: $to_chars flag - Implements ExpandoRenderData::get_string() -.

Definition at line 1344 of file hdrline.c.

1346{
1347 const struct HdrFormatInfo *hfi = data;
1348 struct Email *e = hfi->email;
1349 if (!e)
1350 return;
1351
1352 const struct MbTable *c_to_chars = cs_subset_mbtable(NeoMutt->sub, "to_chars");
1353
1354 int i;
1355 const char *s = (c_to_chars && ((i = user_is_recipient(e))) < c_to_chars->len) ?
1356 c_to_chars->chars[i] :
1357 " ";
1358
1359 buf_strcpy(buf, s);
1360}
static enum ToChars user_is_recipient(struct Email *e)
Is the user a recipient of the message.
Definition: hdrline.c:237
int len
Number of characters.
Definition: mbtable.h:38
+ Here is the call graph for this function:

◆ index_tree()

void index_tree ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Thread tree - Implements ExpandoRenderData::get_string() -.

Definition at line 1365 of file hdrline.c.

1367{
1368 const struct HdrFormatInfo *hfi = data;
1369 const struct Email *e = hfi->email;
1370 if (!e || !e->env)
1371 return;
1372
1373 if (!(flags & MUTT_FORMAT_TREE) || e->collapsed)
1374 return;
1375
1377 node_expando_set_has_tree(node, true);
1378 buf_strcpy(buf, e->tree);
1379}
char * tree
Character string to print thread tree.
Definition: email.h:128
+ Here is the call graph for this function:

◆ index_u()

void index_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: User name - Implements ExpandoRenderData::get_string() -.

Definition at line 1384 of file hdrline.c.

1386{
1387 const struct HdrFormatInfo *hfi = data;
1388 const struct Email *e = hfi->email;
1389 if (!e || !e->env)
1390 return;
1391
1392 const struct Address *from = TAILQ_FIRST(&e->env->from);
1393 if (!from || !from->mailbox)
1394 return;
1395
1396 char tmp[128] = { 0 };
1397 char *p = NULL;
1398
1399 mutt_str_copy(tmp, mutt_addr_for_display(from), sizeof(tmp));
1400 p = strpbrk(tmp, "%@");
1401 if (p)
1402 {
1403 *p = '\0';
1404 }
1405
1406 buf_strcpy(buf, tmp);
1407}
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:581
+ Here is the call graph for this function:

◆ index_v()

void index_v ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: First name - Implements ExpandoRenderData::get_string() -.

Definition at line 1412 of file hdrline.c.

1414{
1415 const struct HdrFormatInfo *hfi = data;
1416 const struct Email *e = hfi->email;
1417 if (!e || !e->env)
1418 return;
1419
1420 const struct Address *from = TAILQ_FIRST(&e->env->from);
1421 const struct Address *to = TAILQ_FIRST(&e->env->to);
1422 const struct Address *cc = TAILQ_FIRST(&e->env->cc);
1423
1424 char tmp[128] = { 0 };
1425 char *p = NULL;
1426
1427 if (mutt_addr_is_user(from))
1428 {
1429 if (to)
1430 {
1431 const char *s = mutt_get_name(to);
1432 mutt_str_copy(tmp, NONULL(s), sizeof(tmp));
1433 }
1434 else if (cc)
1435 {
1436 const char *s = mutt_get_name(cc);
1437 mutt_str_copy(tmp, NONULL(s), sizeof(tmp));
1438 }
1439 }
1440 else
1441 {
1442 const char *s = mutt_get_name(from);
1443 mutt_str_copy(tmp, NONULL(s), sizeof(tmp));
1444 }
1445 p = strpbrk(tmp, " %@");
1446 if (p)
1447 {
1448 *p = '\0';
1449 }
1450
1451 buf_strcpy(buf, tmp);
1452}
bool mutt_addr_is_user(const struct Address *addr)
Does the address belong to the user.
Definition: alias.c:600
+ Here is the call graph for this function:

◆ index_W()

void index_W ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Organization - Implements ExpandoRenderData::get_string() -.

Definition at line 1457 of file hdrline.c.

1459{
1460 const struct HdrFormatInfo *hfi = data;
1461 const struct Email *e = hfi->email;
1462 if (!e || !e->env)
1463 return;
1464
1465 const char *s = e->env->organization;
1466 buf_strcpy(buf, s);
1467}
char * organization
Organisation header.
Definition: envelope.h:77
+ Here is the call graph for this function:

◆ index_x()

void index_x ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: X-Comment-To - Implements ExpandoRenderData::get_string() -.

Definition at line 1472 of file hdrline.c.

1474{
1475 const struct HdrFormatInfo *hfi = data;
1476 const struct Email *e = hfi->email;
1477 if (!e || !e->env)
1478 return;
1479
1480 const char *s = e->env->x_comment_to;
1481 buf_strcpy(buf, s);
1482}
char * x_comment_to
List of 'X-comment-to' fields.
Definition: envelope.h:81
+ Here is the call graph for this function:

◆ index_y()

void index_y ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: X-Label - Implements ExpandoRenderData::get_string() -.

Definition at line 1508 of file hdrline.c.

1510{
1511 const struct HdrFormatInfo *hfi = data;
1512 const struct Email *e = hfi->email;
1513 if (!e || !e->env)
1514 return;
1515
1516 if (flags & MUTT_FORMAT_INDEX)
1518
1519 const char *s = e->env->x_label;
1520 buf_strcpy(buf, s);
1521}
@ MT_COLOR_INDEX_LABEL
Index: label field.
Definition: color.h:88
char * x_label
X-Label.
Definition: envelope.h:76
+ Here is the call graph for this function:

◆ index_Y()

void index_Y ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: X-Label (if different) - Implements ExpandoRenderData::get_string() -.

Definition at line 1526 of file hdrline.c.

1528{
1529 const struct HdrFormatInfo *hfi = data;
1530 const struct Email *e = hfi->email;
1531 if (!e || !e->env)
1532 return;
1533
1534 bool label = true;
1535 if (e->env->x_label)
1536 {
1537 struct Email *e_tmp = NULL;
1538 if (flags & MUTT_FORMAT_TREE && (e->thread->prev && e->thread->prev->message &&
1539 e->thread->prev->message->env->x_label))
1540 {
1541 e_tmp = e->thread->prev->message;
1542 }
1543 else if (flags & MUTT_FORMAT_TREE && (e->thread->parent && e->thread->parent->message &&
1545 {
1546 e_tmp = e->thread->parent->message;
1547 }
1548
1549 if (e_tmp && mutt_istr_equal(e->env->x_label, e_tmp->env->x_label))
1550 {
1551 label = false;
1552 }
1553 }
1554 else
1555 {
1556 label = false;
1557 }
1558
1559 if (flags & MUTT_FORMAT_INDEX)
1561
1562 if (label)
1563 {
1564 const char *s = e->env->x_label;
1565 buf_strcpy(buf, s);
1566 }
1567}
bool mutt_istr_equal(const char *a, const char *b)
Compare two strings, ignoring case.
Definition: string.c:672
+ Here is the call graph for this function:

◆ index_zc()

void index_zc ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Message crypto flags - Implements ExpandoRenderData::get_string() -.

Definition at line 1572 of file hdrline.c.

1574{
1575 const struct HdrFormatInfo *hfi = data;
1576 const struct Email *e = hfi->email;
1577 if (!e)
1578 return;
1579
1580 const struct MbTable *c_crypt_chars = cs_subset_mbtable(NeoMutt->sub, "crypt_chars");
1581
1582 const char *ch = NULL;
1583 if ((WithCrypto != 0) && (e->security & SEC_GOODSIGN))
1584 {
1586 }
1587 else if ((WithCrypto != 0) && (e->security & SEC_ENCRYPT))
1588 {
1590 }
1591 else if ((WithCrypto != 0) && (e->security & SEC_SIGN))
1592 {
1593 ch = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_SIGNED);
1594 }
1595 else if (((WithCrypto & APPLICATION_PGP) != 0) && ((e->security & PGP_KEY) == PGP_KEY))
1596 {
1598 }
1599 else
1600 {
1602 }
1603
1604 if (flags & MUTT_FORMAT_INDEX)
1606 buf_strcpy(buf, ch);
1607}
@ FLAG_CHAR_CRYPT_CONTAINS_KEY
Character denoting a message contains a PGP key.
Definition: hdrline.h:61
@ FLAG_CHAR_CRYPT_SIGNED
Character denoting a message is signed.
Definition: hdrline.h:60
@ FLAG_CHAR_CRYPT_NO_CRYPTO
Character denoting a message has no cryptography information.
Definition: hdrline.h:62
@ FLAG_CHAR_CRYPT_GOOD_SIGN
Character denoting a message signed with a verified key.
Definition: hdrline.h:58
@ FLAG_CHAR_CRYPT_ENCRYPTED
Character denoting a message is PGP-encrypted.
Definition: hdrline.h:59
#define SEC_GOODSIGN
Email has a valid signature.
Definition: lib.h:80
#define APPLICATION_PGP
Use PGP to encrypt/sign.
Definition: lib.h:90
#define SEC_ENCRYPT
Email is encrypted.
Definition: lib.h:78
#define PGP_KEY
Definition: lib.h:99
#define WithCrypto
Definition: lib.h:116
#define SEC_SIGN
Email is signed.
Definition: lib.h:79
SecurityFlags security
bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp See: ncrypt/lib.h pgplib....
Definition: email.h:43
+ Here is the call graph for this function:

◆ index_zs()

void index_zs ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Message status flags - Implements ExpandoRenderData::get_string() -.

Definition at line 1612 of file hdrline.c.

1614{
1615 const struct HdrFormatInfo *hfi = data;
1616 struct Email *e = hfi->email;
1617 if (!e)
1618 return;
1619
1620 const bool threads = mutt_using_threads();
1621 const struct MbTable *c_flag_chars = cs_subset_mbtable(NeoMutt->sub, "flag_chars");
1622 const int msg_in_pager = hfi->msg_in_pager;
1623
1624 const char *ch = NULL;
1625 if (e->deleted)
1626 {
1627 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_DELETED);
1628 }
1629 else if (e->attach_del)
1630 {
1632 }
1633 else if (threads && thread_is_new(e))
1634 {
1635 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_NEW_THREAD);
1636 }
1637 else if (threads && thread_is_old(e))
1638 {
1639 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_OLD_THREAD);
1640 }
1641 else if (e->read && (msg_in_pager != e->msgno))
1642 {
1643 if (e->replied)
1644 {
1645 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_REPLIED);
1646 }
1647 else
1648 {
1649 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_ZEMPTY);
1650 }
1651 }
1652 else
1653 {
1654 if (e->old)
1655 {
1656 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_OLD);
1657 }
1658 else
1659 {
1660 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_NEW);
1661 }
1662 }
1663
1664 if (flags & MUTT_FORMAT_INDEX)
1666 buf_strcpy(buf, ch);
1667}
static bool thread_is_old(struct Email *e)
Does the email thread contain any unread emails?
Definition: hdrline.c:299
static bool thread_is_new(struct Email *e)
Does the email thread contain any new emails?
Definition: hdrline.c:289
@ FLAG_CHAR_OLD_THREAD
Character denoting a thread of emails that has been read.
Definition: hdrline.h:47
@ FLAG_CHAR_ZEMPTY
Character denoting a read email, $index_format Z expando.
Definition: hdrline.h:50
@ FLAG_CHAR_NEW_THREAD
Character denoting a thread containing at least one new email.
Definition: hdrline.h:48
+ Here is the call graph for this function:

◆ index_zt()

void index_zt ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Message tag flags - Implements ExpandoRenderData::get_string() -.

Definition at line 1672 of file hdrline.c.

1674{
1675 const struct HdrFormatInfo *hfi = data;
1676 struct Email *e = hfi->email;
1677 if (!e)
1678 return;
1679
1680 const struct MbTable *c_flag_chars = cs_subset_mbtable(NeoMutt->sub, "flag_chars");
1681 const struct MbTable *c_to_chars = cs_subset_mbtable(NeoMutt->sub, "to_chars");
1682
1683 const char *ch = NULL;
1684 if (e->tagged)
1685 {
1686 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_TAGGED);
1687 }
1688 else if (e->flagged)
1689 {
1690 ch = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_IMPORTANT);
1691 }
1692 else
1693 {
1694 ch = mbtable_get_nth_wchar(c_to_chars, user_is_recipient(e));
1695 }
1696
1697 if (flags & MUTT_FORMAT_INDEX)
1699 buf_strcpy(buf, ch);
1700}
+ Here is the call graph for this function:

◆ index_Z()

void index_Z ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Index: Status flags - Implements ExpandoRenderData::get_string() -.

Definition at line 1705 of file hdrline.c.

1707{
1708 const struct HdrFormatInfo *hfi = data;
1709 struct Email *e = hfi->email;
1710 if (!e)
1711 return;
1712
1713 const int msg_in_pager = hfi->msg_in_pager;
1714
1715 const struct MbTable *c_crypt_chars = cs_subset_mbtable(NeoMutt->sub, "crypt_chars");
1716 const struct MbTable *c_flag_chars = cs_subset_mbtable(NeoMutt->sub, "flag_chars");
1717 const struct MbTable *c_to_chars = cs_subset_mbtable(NeoMutt->sub, "to_chars");
1718 const bool threads = mutt_using_threads();
1719
1720 const char *first = NULL;
1721 if (threads && thread_is_new(e))
1722 {
1723 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_NEW_THREAD);
1724 }
1725 else if (threads && thread_is_old(e))
1726 {
1727 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_OLD_THREAD);
1728 }
1729 else if (e->read && (msg_in_pager != e->msgno))
1730 {
1731 if (e->replied)
1732 {
1733 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_REPLIED);
1734 }
1735 else
1736 {
1737 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_ZEMPTY);
1738 }
1739 }
1740 else
1741 {
1742 if (e->old)
1743 {
1744 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_OLD);
1745 }
1746 else
1747 {
1748 first = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_NEW);
1749 }
1750 }
1751
1752 /* Marked for deletion; deleted attachments; crypto */
1753 const char *second = NULL;
1754 if (e->deleted)
1755 second = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_DELETED);
1756 else if (e->attach_del)
1757 second = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_DELETED_ATTACH);
1758 else if ((WithCrypto != 0) && (e->security & SEC_GOODSIGN))
1759 second = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_GOOD_SIGN);
1760 else if ((WithCrypto != 0) && (e->security & SEC_ENCRYPT))
1761 second = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_ENCRYPTED);
1762 else if ((WithCrypto != 0) && (e->security & SEC_SIGN))
1763 second = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_SIGNED);
1764 else if (((WithCrypto & APPLICATION_PGP) != 0) && (e->security & PGP_KEY))
1765 second = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_CONTAINS_KEY);
1766 else
1767 second = mbtable_get_nth_wchar(c_crypt_chars, FLAG_CHAR_CRYPT_NO_CRYPTO);
1768
1769 /* Tagged, flagged and recipient flag */
1770 const char *third = NULL;
1771 if (e->tagged)
1772 third = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_TAGGED);
1773 else if (e->flagged)
1774 third = mbtable_get_nth_wchar(c_flag_chars, FLAG_CHAR_IMPORTANT);
1775 else
1776 third = mbtable_get_nth_wchar(c_to_chars, user_is_recipient(e));
1777
1778 if (flags & MUTT_FORMAT_INDEX)
1780
1781 buf_printf(buf, "%s%s%s", first, second, third);
1782}
+ Here is the call graph for this function:

◆ history_s()

void history_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

History: History match - Implements ExpandoRenderData::get_string() -.

Definition at line 99 of file dlg_history.c.

101{
102 const struct HistoryEntry *entry = data;
103
104 const char *s = entry->history;
105 buf_strcpy(buf, s);
106}
A line in the History menu.
Definition: lib.h:65
const char * history
Description of history.
Definition: lib.h:67
+ Here is the call graph for this function:

◆ mix_a()

void mix_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Mixmaster: Email address - Implements ExpandoRenderData::get_string() -.

Definition at line 113 of file win_hosts.c.

115{
116 const struct Remailer *remailer = data;
117
118 const char *s = remailer->addr;
119 buf_strcpy(buf, s);
120}
A Mixmaster remailer.
Definition: remailer.h:40
char * addr
Address of host.
Definition: remailer.h:43
+ Here is the call graph for this function:

◆ mix_c()

void mix_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Mixmaster: Capabilities - Implements ExpandoRenderData::get_string() -.

Definition at line 125 of file win_hosts.c.

127{
128 const struct Remailer *remailer = data;
129
130 const char *s = mix_format_caps(remailer);
131 buf_strcpy(buf, s);
132}
static const char * mix_format_caps(const struct Remailer *r)
Turn flags into a MixMaster capability string.
Definition: win_hosts.c:67
+ Here is the call graph for this function:

◆ mix_s()

void mix_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Mixmaster: Short name - Implements ExpandoRenderData::get_string() -.

Definition at line 147 of file win_hosts.c.

149{
150 const struct Remailer *remailer = data;
151
152 const char *s = remailer->shortname;
153 buf_strcpy(buf, s);
154}
char * shortname
Short name of remailer host.
Definition: remailer.h:42
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_date()

void pgp_entry_gpgme_date ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Date of the key - Implements ExpandoRenderData::get_string() -.

Definition at line 302 of file dlg_gpgme.c.

304{
305#ifdef HAVE_PKG_GPGME
306 const struct CryptEntry *entry = data;
307 const struct CryptKeyInfo *key = entry->key;
308
309 char tmp[128] = { 0 };
310 char datestr[128] = { 0 };
311
312 int len = node->end - node->start;
313 const char *start = node->start;
314 bool use_c_locale = false;
315 if (*start == '!')
316 {
317 use_c_locale = true;
318 start++;
319 len--;
320 }
321
322 ASSERT(len < sizeof(datestr));
323 mutt_strn_copy(datestr, start, len, sizeof(datestr));
324
325 struct tm tm = { 0 };
326 if (key->kobj->subkeys && (key->kobj->subkeys->timestamp > 0))
327 {
328 tm = mutt_date_localtime(key->kobj->subkeys->timestamp);
329 }
330 else
331 {
332 tm = mutt_date_localtime(0); // Default to 1970-01-01
333 }
334
335 if (use_c_locale)
336 {
337 strftime_l(tmp, sizeof(tmp), datestr, &tm, NeoMutt->time_c_locale);
338 }
339 else
340 {
341 strftime(tmp, sizeof(tmp), datestr, &tm);
342 }
343
344 buf_strcpy(buf, tmp);
345#endif
346}
An entry in the Select-Key menu.
Definition: crypt_gpgme.h:85
struct CryptKeyInfo * key
Key.
Definition: crypt_gpgme.h:87
A stored PGP key.
Definition: crypt_gpgme.h:44
gpgme_key_t kobj
Definition: crypt_gpgme.h:46
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_p()

void pgp_entry_gpgme_p ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Protocol - Implements ExpandoRenderData::get_string() -.

Definition at line 364 of file dlg_gpgme.c.

366{
367#ifdef HAVE_PKG_GPGME
368 const struct CryptEntry *entry = data;
369 const struct CryptKeyInfo *key = entry->key;
370
371 const char *s = gpgme_get_protocol_name(key->kobj->protocol);
372 buf_strcpy(buf, s);
373#endif
374}
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_t()

void pgp_entry_gpgme_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Trust/validity - Implements ExpandoRenderData::get_string() -.

Definition at line 379 of file dlg_gpgme.c.

381{
382#ifdef HAVE_PKG_GPGME
383 const struct CryptEntry *entry = data;
384 const struct CryptKeyInfo *key = entry->key;
385
386 const char *s = "";
387 if ((key->flags & KEYFLAG_ISX509))
388 {
389 s = "x";
390 }
391 else
392 {
393 switch (key->validity)
394 {
395 case GPGME_VALIDITY_FULL:
396 s = "f";
397 break;
398 case GPGME_VALIDITY_MARGINAL:
399 s = "m";
400 break;
401 case GPGME_VALIDITY_NEVER:
402 s = "n";
403 break;
404 case GPGME_VALIDITY_ULTIMATE:
405 s = "u";
406 break;
407 case GPGME_VALIDITY_UNDEFINED:
408 s = "q";
409 break;
410 case GPGME_VALIDITY_UNKNOWN:
411 default:
412 s = "?";
413 break;
414 }
415 }
416
417 buf_strcpy(buf, s);
418#endif
419}
#define KEYFLAG_ISX509
Key is an X.509 key.
Definition: lib.h:129
gpgme_validity_t validity
uid validity (cached for convenience)
Definition: crypt_gpgme.h:50
KeyFlags flags
global and per uid flags (for convenience)
Definition: crypt_gpgme.h:49
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_u()

void pgp_entry_gpgme_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: User id - Implements ExpandoRenderData::get_string() -.

Definition at line 424 of file dlg_gpgme.c.

426{
427#ifdef HAVE_PKG_GPGME
428 const struct CryptEntry *entry = data;
429 const struct CryptKeyInfo *key = entry->key;
430
431 const char *s = key->uid;
432 buf_strcpy(buf, s);
433#endif
434}
const char * uid
and for convenience point to this user ID
Definition: crypt_gpgme.h:48
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_a()

void pgp_entry_gpgme_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Key Algorithm - Implements ExpandoRenderData::get_string() -.

Definition at line 439 of file dlg_gpgme.c.

441{
442#ifdef HAVE_PKG_GPGME
443 const struct CryptEntry *entry = data;
444 const struct CryptKeyInfo *key = entry->key;
445
446 const char *s = NULL;
447 if (key->kobj->subkeys)
448 s = gpgme_pubkey_algo_name(key->kobj->subkeys->pubkey_algo);
449 else
450 s = "?";
451
452 buf_strcpy(buf, s);
453#endif
454}
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_c()

void pgp_entry_gpgme_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Key Capabilities - Implements ExpandoRenderData::get_string() -.

Definition at line 459 of file dlg_gpgme.c.

461{
462#ifdef HAVE_PKG_GPGME
463 const struct CryptEntry *entry = data;
464 const struct CryptKeyInfo *key = entry->key;
465
466 const char *s = crypt_key_abilities(key->flags);
467 buf_strcpy(buf, s);
468#endif
469}
static char * crypt_key_abilities(KeyFlags flags)
Parse key flags into a string.
Definition: dlg_gpgme.c:242
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_f()

void pgp_entry_gpgme_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Key Flags - Implements ExpandoRenderData::get_string() -.

Definition at line 474 of file dlg_gpgme.c.

476{
477#ifdef HAVE_PKG_GPGME
478 const struct CryptEntry *entry = data;
479 const struct CryptKeyInfo *key = entry->key;
480
481 const char *s = crypt_flags(key->flags);
482 buf_strcpy(buf, s);
483#endif
484}
static char * crypt_flags(KeyFlags flags)
Parse the key flags into a single character.
Definition: dlg_gpgme.c:272
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_i()

void pgp_entry_gpgme_i ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Key fingerprint - Implements ExpandoRenderData::get_string() -.

Definition at line 489 of file dlg_gpgme.c.

491{
492#ifdef HAVE_PKG_GPGME
493 const struct CryptEntry *entry = data;
494 struct CryptKeyInfo *key = entry->key;
495
496 /* fixme: we need a way to distinguish between main and subkeys.
497 * Store the idx in entry? */
498 const char *s = crypt_fpr_or_lkeyid(key);
499 buf_strcpy(buf, s);
500#endif
501}
const char * crypt_fpr_or_lkeyid(struct CryptKeyInfo *k)
Find the fingerprint of a key.
Definition: crypt_gpgme.c:214
+ Here is the call graph for this function:

◆ pgp_entry_gpgme_k()

void pgp_entry_gpgme_k ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

GPGME: Key id - Implements ExpandoRenderData::get_string() -.

Definition at line 506 of file dlg_gpgme.c.

508{
509#ifdef HAVE_PKG_GPGME
510 const struct CryptEntry *entry = data;
511 struct CryptKeyInfo *key = entry->key;
512
513 /* fixme: we need a way to distinguish between main and subkeys.
514 * Store the idx in entry? */
515 const char *s = crypt_keyid(key);
516 buf_strcpy(buf, s);
517#endif
518}
const char * crypt_keyid(struct CryptKeyInfo *k)
Find the ID for the key.
Definition: crypt_gpgme.c:138
+ Here is the call graph for this function:

◆ pgp_entry_pgp_date()

void pgp_entry_pgp_date ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Date of the key - Implements ExpandoRenderData::get_string() -.

Definition at line 270 of file dlg_pgp.c.

272{
273#ifdef HAVE_PGP
274 const struct PgpEntry *entry = data;
275 const struct PgpUid *uid = entry->uid;
276 const struct PgpKeyInfo *key = uid->parent;
277
278 char tmp[128] = { 0 };
279 char datestr[128] = { 0 };
280
281 int len = node->end - node->start;
282 const char *start = node->start;
283 bool use_c_locale = false;
284 if (*start == '!')
285 {
286 use_c_locale = true;
287 start++;
288 len--;
289 }
290
291 ASSERT(len < sizeof(datestr));
292 mutt_strn_copy(datestr, start, len, sizeof(datestr));
293
294 if (use_c_locale)
295 {
296 mutt_date_localtime_format_locale(tmp, sizeof(tmp), datestr, key->gen_time,
298 }
299 else
300 {
301 mutt_date_localtime_format(tmp, sizeof(tmp), datestr, key->gen_time);
302 }
303
304 buf_strcpy(buf, tmp);
305#endif
306}
An entry in a PGP key menu.
Definition: private.h:39
struct PgpUid * uid
PGP Key info.
Definition: private.h:41
Information about a PGP key.
Definition: pgplib.h:47
time_t gen_time
Definition: pgplib.h:53
PGP User ID.
Definition: pgplib.h:35
struct PgpKeyInfo * parent
Parent key.
Definition: pgplib.h:39
+ Here is the call graph for this function:

◆ pgp_entry_pgp_t()

void pgp_entry_pgp_t ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Trust/validity - Implements ExpandoRenderData::get_string() -.

Definition at line 324 of file dlg_pgp.c.

326{
327#ifdef HAVE_PGP
328 const struct PgpEntry *entry = data;
329 const struct PgpUid *uid = entry->uid;
330
331 buf_printf(buf, "%c", TrustFlags[uid->trust & 0x03]);
332#endif
333}
static const char TrustFlags[]
Characters used to show the trust level for PGP keys.
Definition: dlg_pgp.c:105
short trust
Definition: pgplib.h:37
+ Here is the call graph for this function:

◆ pgp_entry_pgp_u()

void pgp_entry_pgp_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: User id - Implements ExpandoRenderData::get_string() -.

Definition at line 338 of file dlg_pgp.c.

340{
341#ifdef HAVE_PGP
342 const struct PgpEntry *entry = data;
343 const struct PgpUid *uid = entry->uid;
344
345 const char *s = uid->addr;
346 buf_strcpy(buf, s);
347#endif
348}
char * addr
Definition: pgplib.h:36
+ Here is the call graph for this function:

◆ pgp_entry_pgp_a()

void pgp_entry_pgp_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Key Algorithm - Implements ExpandoRenderData::get_string() -.

Definition at line 353 of file dlg_pgp.c.

355{
356#ifdef HAVE_PGP
357 const struct PgpEntry *entry = data;
358 const struct PgpUid *uid = entry->uid;
359 const struct PgpKeyInfo *key = uid->parent;
360
361 const char *s = key->algorithm;
362 buf_strcpy(buf, s);
363#endif
364}
const char * algorithm
Definition: pgplib.h:55
+ Here is the call graph for this function:

◆ pgp_entry_pgp_A()

void pgp_entry_pgp_A ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Principal Key Algorithm - Implements ExpandoRenderData::get_string() -.

Definition at line 369 of file dlg_pgp.c.

371{
372#ifdef HAVE_PGP
373 const struct PgpEntry *entry = data;
374 const struct PgpUid *uid = entry->uid;
375 struct PgpKeyInfo *key = uid->parent;
376 struct PgpKeyInfo *pkey = pgp_principal_key(key);
377
378 const char *s = pkey->algorithm;
379 buf_strcpy(buf, s);
380#endif
381}
struct PgpKeyInfo * pgp_principal_key(struct PgpKeyInfo *key)
Get the main (parent) PGP key.
Definition: pgpkey.c:92
+ Here is the call graph for this function:

◆ pgp_entry_pgp_c()

void pgp_entry_pgp_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Key Capabilities - Implements ExpandoRenderData::get_string() -.

Definition at line 386 of file dlg_pgp.c.

388{
389#ifdef HAVE_PGP
390 const struct PgpEntry *entry = data;
391 const struct PgpUid *uid = entry->uid;
392 const struct PgpKeyInfo *key = uid->parent;
393
394 const KeyFlags kflags = key->flags | uid->flags;
395
396 const char *s = pgp_key_abilities(kflags);
397 buf_strcpy(buf, s);
398#endif
399}
static char * pgp_key_abilities(KeyFlags flags)
Turn PGP key abilities into a string.
Definition: dlg_pgp.c:210
uint16_t KeyFlags
Flags describing PGP/SMIME keys, e.g. KEYFLAG_CANSIGN.
Definition: lib.h:125
KeyFlags flags
Definition: pgplib.h:51
int flags
Definition: pgplib.h:38
+ Here is the call graph for this function:

◆ pgp_entry_pgp_C()

void pgp_entry_pgp_C ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Principal Key Capabilities - Implements ExpandoRenderData::get_string() -.

Definition at line 404 of file dlg_pgp.c.

406{
407#ifdef HAVE_PGP
408 const struct PgpEntry *entry = data;
409 const struct PgpUid *uid = entry->uid;
410 struct PgpKeyInfo *key = uid->parent;
411 struct PgpKeyInfo *pkey = pgp_principal_key(key);
412
413 const KeyFlags kflags = (pkey->flags & KEYFLAG_RESTRICTIONS) | uid->flags;
414
415 const char *s = pgp_key_abilities(kflags);
416 buf_strcpy(buf, s);
417#endif
418}
#define KEYFLAG_RESTRICTIONS
Definition: lib.h:140
+ Here is the call graph for this function:

◆ pgp_entry_pgp_f()

void pgp_entry_pgp_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Key Flags - Implements ExpandoRenderData::get_string() -.

Definition at line 423 of file dlg_pgp.c.

425{
426#ifdef HAVE_PGP
427 const struct PgpEntry *entry = data;
428 const struct PgpUid *uid = entry->uid;
429 const struct PgpKeyInfo *key = uid->parent;
430
431 const KeyFlags kflags = key->flags | uid->flags;
432
433 buf_printf(buf, "%c", pgp_flags(kflags));
434#endif
435}
static char pgp_flags(KeyFlags flags)
Turn PGP key flags into a string.
Definition: dlg_pgp.c:238
+ Here is the call graph for this function:

◆ pgp_entry_pgp_F()

void pgp_entry_pgp_F ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Principal Key Flags - Implements ExpandoRenderData::get_string() -.

Definition at line 440 of file dlg_pgp.c.

442{
443#ifdef HAVE_PGP
444 const struct PgpEntry *entry = data;
445 const struct PgpUid *uid = entry->uid;
446 struct PgpKeyInfo *key = uid->parent;
447 struct PgpKeyInfo *pkey = pgp_principal_key(key);
448
449 const KeyFlags kflags = (pkey->flags & KEYFLAG_RESTRICTIONS) | uid->flags;
450
451 buf_printf(buf, "%c", pgp_flags(kflags));
452#endif
453}
+ Here is the call graph for this function:

◆ pgp_entry_pgp_k()

void pgp_entry_pgp_k ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Key id - Implements ExpandoRenderData::get_string() -.

Definition at line 458 of file dlg_pgp.c.

460{
461#ifdef HAVE_PGP
462 const struct PgpEntry *entry = data;
463 const struct PgpUid *uid = entry->uid;
464 struct PgpKeyInfo *key = uid->parent;
465
466 const char *s = pgp_this_keyid(key);
467 buf_strcpy(buf, s);
468#endif
469}
char * pgp_this_keyid(struct PgpKeyInfo *k)
Get the ID of this key.
Definition: pgp.c:191
+ Here is the call graph for this function:

◆ pgp_entry_pgp_K()

void pgp_entry_pgp_K ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Principal Key id - Implements ExpandoRenderData::get_string() -.

Definition at line 474 of file dlg_pgp.c.

476{
477#ifdef HAVE_PGP
478 const struct PgpEntry *entry = data;
479 const struct PgpUid *uid = entry->uid;
480 struct PgpKeyInfo *key = uid->parent;
481 struct PgpKeyInfo *pkey = pgp_principal_key(key);
482
483 const char *s = pgp_this_keyid(pkey);
484 buf_strcpy(buf, s);
485#endif
486}
+ Here is the call graph for this function:

◆ pgp_entry_ignore()

void pgp_entry_ignore ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP: Field not supported - Implements ExpandoRenderData::get_string() -.

Definition at line 524 of file dlg_pgp.c.

526{
527}

◆ pgp_command_a()

void pgp_command_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP Command: $pgp_sign_as or $pgp_default_key - Implements ExpandoRenderData::get_string() -.

Definition at line 59 of file pgpinvoke.c.

61{
62 const struct PgpCommandContext *cctx = data;
63
64 const char *s = cctx->signas;
65 buf_strcpy(buf, s);
66}
Data for a PGP command.
Definition: pgp.h:43
const char * signas
a
Definition: pgp.h:47
+ Here is the call graph for this function:

◆ pgp_command_f()

void pgp_command_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP Command: Filename of message - Implements ExpandoRenderData::get_string() -.

Definition at line 71 of file pgpinvoke.c.

73{
74 const struct PgpCommandContext *cctx = data;
75
76 const char *s = cctx->fname;
77 buf_strcpy(buf, s);
78}
const char * fname
f
Definition: pgp.h:45
+ Here is the call graph for this function:

◆ pgp_command_p()

void pgp_command_p ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP Command: PGPPASSFD=0 if passphrase is needed - Implements ExpandoRenderData::get_string() -.

Definition at line 83 of file pgpinvoke.c.

85{
86 const struct PgpCommandContext *cctx = data;
87
88 const char *s = cctx->need_passphrase ? "PGPPASSFD=0" : "";
89 buf_strcpy(buf, s);
90}
bool need_passphrase
p
Definition: pgp.h:44
+ Here is the call graph for this function:

◆ pgp_command_r()

void pgp_command_r ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP Command: key IDs - Implements ExpandoRenderData::get_string() -.

Definition at line 95 of file pgpinvoke.c.

97{
98 const struct PgpCommandContext *cctx = data;
99
100 const char *s = cctx->ids;
101 buf_strcpy(buf, s);
102}
const char * ids
r
Definition: pgp.h:48
+ Here is the call graph for this function:

◆ pgp_command_s()

void pgp_command_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

PGP Command: Filename of signature - Implements ExpandoRenderData::get_string() -.

Definition at line 107 of file pgpinvoke.c.

109{
110 const struct PgpCommandContext *cctx = data;
111
112 const char *s = cctx->sig_fname;
113 buf_strcpy(buf, s);
114}
const char * sig_fname
s
Definition: pgp.h:46
+ Here is the call graph for this function:

◆ smime_command_a()

void smime_command_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: algorithm - Implements ExpandoRenderData::get_string() -.

Definition at line 203 of file smime.c.

205{
206#ifdef HAVE_SMIME
207 const struct SmimeCommandContext *cctx = data;
208
209 const char *s = cctx->cryptalg;
210 buf_strcpy(buf, s);
211#endif
212}
Data for a SIME command.
Definition: smime.h:57
const char * cryptalg
a
Definition: smime.h:59
+ Here is the call graph for this function:

◆ smime_command_c()

void smime_command_c ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: certificate IDs - Implements ExpandoRenderData::get_string() -.

Definition at line 217 of file smime.c.

219{
220#ifdef HAVE_SMIME
221 const struct SmimeCommandContext *cctx = data;
222
223 const char *s = cctx->certificates;
224 buf_strcpy(buf, s);
225#endif
226}
const char * certificates
c
Definition: smime.h:63
+ Here is the call graph for this function:

◆ smime_command_C()

void smime_command_C ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: CA location - Implements ExpandoRenderData::get_string() -.

Definition at line 231 of file smime.c.

233{
234#ifdef HAVE_SMIME
235 const char *const c_smime_ca_location = cs_subset_path(NeoMutt->sub, "smime_ca_location");
236
237 struct Buffer *path = buf_pool_get();
238 struct Buffer *buf1 = buf_pool_get();
239 struct Buffer *buf2 = buf_pool_get();
240 struct stat st = { 0 };
241
242 buf_strcpy(path, c_smime_ca_location);
243 buf_expand_path(path);
244 buf_quote_filename(buf1, buf_string(path), true);
245
246 if ((stat(buf_string(path), &st) != 0) || !S_ISDIR(st.st_mode))
247 {
248 buf_printf(buf2, "-CAfile %s", buf_string(buf1));
249 }
250 else
251 {
252 buf_printf(buf2, "-CApath %s", buf_string(buf1));
253 }
254
255 buf_copy(buf, buf2);
256
257 buf_pool_release(&path);
258 buf_pool_release(&buf1);
259 buf_pool_release(&buf2);
260#endif
261}
const char * cs_subset_path(const struct ConfigSubset *sub, const char *name)
Get a path config item by name.
Definition: helpers.c:168
void buf_expand_path(struct Buffer *buf)
Create the canonical path.
Definition: muttlib.c:328
+ Here is the call graph for this function:

◆ smime_command_d()

void smime_command_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: Message digest algorithm - Implements ExpandoRenderData::get_string() -.

Definition at line 266 of file smime.c.

268{
269#ifdef HAVE_SMIME
270 const struct SmimeCommandContext *cctx = data;
271
272 const char *s = cctx->digestalg;
273 buf_strcpy(buf, s);
274#endif
275}
const char * digestalg
d
Definition: smime.h:60
+ Here is the call graph for this function:

◆ smime_command_f()

void smime_command_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: Filename of message - Implements ExpandoRenderData::get_string() -.

Definition at line 280 of file smime.c.

282{
283#ifdef HAVE_SMIME
284 const struct SmimeCommandContext *cctx = data;
285
286 const char *s = cctx->fname;
287 buf_strcpy(buf, s);
288#endif
289}
const char * fname
f
Definition: smime.h:61
+ Here is the call graph for this function:

◆ smime_command_i()

void smime_command_i ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: Intermediate certificates - Implements ExpandoRenderData::get_string() -.

Definition at line 294 of file smime.c.

296{
297#ifdef HAVE_SMIME
298 const struct SmimeCommandContext *cctx = data;
299
300 const char *s = cctx->intermediates;
301 buf_strcpy(buf, s);
302#endif
303}
const char * intermediates
i
Definition: smime.h:64
+ Here is the call graph for this function:

◆ smime_command_k()

void smime_command_k ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: Key-pair - Implements ExpandoRenderData::get_string() -.

Definition at line 308 of file smime.c.

310{
311#ifdef HAVE_SMIME
312 const struct SmimeCommandContext *cctx = data;
313
314 const char *s = cctx->key;
315 buf_strcpy(buf, s);
316#endif
317}
const char * key
k
Definition: smime.h:58
+ Here is the call graph for this function:

◆ smime_command_s()

void smime_command_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Smime Command: Filename of signature - Implements ExpandoRenderData::get_string() -.

Definition at line 322 of file smime.c.

324{
325#ifdef HAVE_SMIME
326 const struct SmimeCommandContext *cctx = data;
327
328 const char *s = cctx->sig_fname;
329 buf_strcpy(buf, s);
330#endif
331}
const char * sig_fname
s
Definition: smime.h:62
+ Here is the call graph for this function:

◆ group_index_d()

void group_index_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

NNTP: Description - Implements ExpandoRenderData::get_string() -.

Definition at line 65 of file browse.c.

67{
68 const struct Folder *folder = data;
69
70 char tmp[128] = { 0 };
71
72 if (!folder->ff->nd->desc)
73 return;
74
75 char *desc = mutt_str_dup(folder->ff->nd->desc);
76 const char *const c_newsgroups_charset = cs_subset_string(NeoMutt->sub, "newsgroups_charset");
77 if (c_newsgroups_charset)
78 {
79 mutt_ch_convert_string(&desc, c_newsgroups_charset, cc_charset(), MUTT_ICONV_HOOK_FROM);
80 }
82 mutt_str_copy(tmp, desc, sizeof(tmp));
83 FREE(&desc);
84
85 buf_strcpy(buf, tmp);
86}
const char * cc_charset(void)
Get the cached value of $charset.
Definition: config_cache.c:116
int mutt_mb_filter_unprintable(char **s)
Replace unprintable characters.
Definition: mbyte.c:423
#define FREE(x)
Definition: memory.h:45
int mutt_ch_convert_string(char **ps, const char *from, const char *to, uint8_t flags)
Convert a string between encodings.
Definition: charset.c:831
#define MUTT_ICONV_HOOK_FROM
apply charset-hooks to fromcode
Definition: charset.h:74
char * mutt_str_dup(const char *str)
Copy a string, safely.
Definition: string.c:253
struct NntpMboxData * nd
Extra NNTP data.
Definition: lib.h:103
char * desc
Description of newsgroup.
Definition: mdata.h:36
+ Here is the call graph for this function:

◆ group_index_f()

void group_index_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

NNTP: Newsgroup name - Implements ExpandoRenderData::get_string() -.

Definition at line 91 of file browse.c.

93{
94 const struct Folder *folder = data;
95
96 const char *s = folder->ff->name;
97 buf_strcpy(buf, s);
98}
+ Here is the call graph for this function:

◆ group_index_M()

void group_index_M ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

NNTP: Moderated flag - Implements ExpandoRenderData::get_string() -.

Definition at line 103 of file browse.c.

105{
106 const struct Folder *folder = data;
107
108 const char *s = NULL;
109 // NOTE(g0mb4): use $flag_chars?
110 if (folder->ff->nd->deleted)
111 {
112 s = "D";
113 }
114 else
115 {
116 s = folder->ff->nd->allowed ? " " : "-";
117 }
118
119 buf_strcpy(buf, s);
120}
bool deleted
Definition: mdata.h:45
bool allowed
Definition: mdata.h:44
+ Here is the call graph for this function:

◆ group_index_N()

void group_index_N ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

NNTP: New flag - Implements ExpandoRenderData::get_string() -.

Definition at line 144 of file browse.c.

146{
147 const struct Folder *folder = data;
148
149 const char *s = NULL;
150 // NOTE(g0mb4): use $flag_chars?
151 if (folder->ff->nd->subscribed)
152 {
153 s = " ";
154 }
155 else
156 {
157 s = folder->ff->has_new_mail ? "N" : "u";
158 }
159
160 buf_strcpy(buf, s);
161}
bool subscribed
Definition: mdata.h:42
+ Here is the call graph for this function:

◆ nntp_a()

void nntp_a ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Newsrc: Account url - Implements ExpandoRenderData::get_string() -.

Definition at line 916 of file newsrc.c.

918{
919 struct NntpAccountData *adata = data;
920 struct ConnAccount *cac = &adata->conn->account;
921
922 char tmp[128] = { 0 };
923
924 struct Url url = { 0 };
925 mutt_account_tourl(cac, &url);
926 url_tostring(&url, tmp, sizeof(tmp), U_PATH);
927 char *p = strchr(tmp, '/');
928 if (p)
929 {
930 *p = '\0';
931 }
932
933 buf_strcpy(buf, tmp);
934}
void mutt_account_tourl(struct ConnAccount *cac, struct Url *url)
Fill URL with info from account.
Definition: mutt_account.c:80
void * adata
Private data (for Mailbox backends)
Definition: account.h:42
Login details for a remote server.
Definition: connaccount.h:53
struct ConnAccount account
Account details: username, password, etc.
Definition: connection.h:49
NNTP-specific Account data -.
Definition: adata.h:36
struct Connection * conn
Connection to NNTP Server.
Definition: adata.h:62
A parsed URL proto://user:password@host:port/path?a=1&b=2
Definition: url.h:69
int url_tostring(const struct Url *url, char *dest, size_t len, uint8_t flags)
Output the URL string for a given Url object.
Definition: url.c:423
#define U_PATH
Definition: url.h:50
+ Here is the call graph for this function:

◆ nntp_P()

void nntp_P ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Newsrc: Port if specified - Implements ExpandoRenderData::get_string() -.

Definition at line 964 of file newsrc.c.

966{
967 const struct NntpAccountData *adata = data;
968 const struct ConnAccount *cac = &adata->conn->account;
969
970 if (cac->flags & MUTT_ACCT_PORT)
971 {
972 buf_add_printf(buf, "%hd", cac->port);
973 }
974}
#define MUTT_ACCT_PORT
Port field has been set.
Definition: connaccount.h:43
MuttAccountFlags flags
Which fields are initialised, e.g. MUTT_ACCT_USER.
Definition: connaccount.h:60
unsigned short port
Port to connect to.
Definition: connaccount.h:58
+ Here is the call graph for this function:

◆ nntp_s()

void nntp_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Newsrc: News server name - Implements ExpandoRenderData::get_string() -.

Definition at line 979 of file newsrc.c.

981{
982 const struct NntpAccountData *adata = data;
983 const struct ConnAccount *cac = &adata->conn->account;
984
985 char tmp[128] = { 0 };
986
987 mutt_str_copy(tmp, cac->host, sizeof(tmp));
988 mutt_str_lower(tmp);
989
990 buf_strcpy(buf, tmp);
991}
char * mutt_str_lower(char *str)
Convert all characters in the string to lowercase.
Definition: string.c:313
char host[128]
Server to login to.
Definition: connaccount.h:54
+ Here is the call graph for this function:

◆ nntp_S()

void nntp_S ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Newsrc: Url schema - Implements ExpandoRenderData::get_string() -.

Definition at line 996 of file newsrc.c.

998{
999 struct NntpAccountData *adata = data;
1000 struct ConnAccount *cac = &adata->conn->account;
1001
1002 char tmp[128] = { 0 };
1003
1004 struct Url url = { 0 };
1005 mutt_account_tourl(cac, &url);
1006 url_tostring(&url, tmp, sizeof(tmp), U_PATH);
1007 char *p = strchr(tmp, ':');
1008 if (p)
1009 {
1010 *p = '\0';
1011 }
1012
1013 buf_strcpy(buf, tmp);
1014}
+ Here is the call graph for this function:

◆ nntp_u()

void nntp_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Newsrc: Username - Implements ExpandoRenderData::get_string() -.

Definition at line 1019 of file newsrc.c.

1021{
1022 const struct NntpAccountData *adata = data;
1023 const struct ConnAccount *cac = &adata->conn->account;
1024
1025 const char *s = cac->user;
1026 buf_strcpy(buf, s);
1027}
char user[128]
Username.
Definition: connaccount.h:56
+ Here is the call graph for this function:

◆ pattern_d()

void pattern_d ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Pattern: pattern description - Implements ExpandoRenderData::get_string() -.

Definition at line 100 of file dlg_pattern.c.

102{
103 const struct PatternEntry *entry = data;
104
105 const char *s = entry->desc;
106 buf_strcpy(buf, s);
107}
A line in the Pattern Completion menu.
Definition: private.h:37
const char * desc
Description of pattern.
Definition: private.h:41
+ Here is the call graph for this function:

◆ pattern_e()

void pattern_e ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Pattern: pattern expression - Implements ExpandoRenderData::get_string() -.

Definition at line 112 of file dlg_pattern.c.

114{
115 const struct PatternEntry *entry = data;
116
117 const char *s = entry->expr;
118 buf_strcpy(buf, s);
119}
const char * expr
Displayed in the menu.
Definition: private.h:40
+ Here is the call graph for this function:

◆ greeting_n()

void greeting_n ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Greeting: Real name - Implements ExpandoRenderData::get_string() -.

Definition at line 682 of file send.c.

684{
685 const struct Email *e = data;
686 const struct Address *to = TAILQ_FIRST(&e->env->to);
687
688 const char *s = mutt_get_name(to);
689 buf_strcpy(buf, s);
690}
+ Here is the call graph for this function:

◆ greeting_u()

void greeting_u ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Greeting: Login name - Implements ExpandoRenderData::get_string() -.

Definition at line 695 of file send.c.

697{
698 const struct Email *e = data;
699 const struct Address *to = TAILQ_FIRST(&e->env->to);
700
701 char tmp[128] = { 0 };
702 char *p = NULL;
703
704 if (to)
705 {
706 mutt_str_copy(tmp, mutt_addr_for_display(to), sizeof(tmp));
707 if ((p = strpbrk(tmp, "%@")))
708 {
709 *p = '\0';
710 }
711 }
712
713 buf_strcpy(buf, tmp);
714}
+ Here is the call graph for this function:

◆ greeting_v()

void greeting_v ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Greeting: First name - Implements ExpandoRenderData::get_string() -.

Definition at line 719 of file send.c.

721{
722 const struct Email *e = data;
723 const struct Address *to = TAILQ_FIRST(&e->env->to);
724 const struct Address *cc = TAILQ_FIRST(&e->env->cc);
725
726 char tmp[128] = { 0 };
727 char *p = NULL;
728
729 if (to)
730 {
731 const char *s = mutt_get_name(to);
732 mutt_str_copy(tmp, s, sizeof(tmp));
733 }
734 else if (cc)
735 {
736 const char *s = mutt_get_name(cc);
737 mutt_str_copy(tmp, s, sizeof(tmp));
738 }
739
740 if ((p = strpbrk(tmp, " %@")))
741 *p = '\0';
742
743 buf_strcpy(buf, tmp);
744}
+ Here is the call graph for this function:

◆ sidebar_bang()

void sidebar_bang ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Sidebar: Flagged flags - Implements ExpandoRenderData::get_string() -.

Definition at line 333 of file window.c.

335{
336 const struct SidebarData *sdata = data;
337 const struct SbEntry *sbe = sdata->entry;
338 const struct Mailbox *m = sbe->mailbox;
339
340 if (m->msg_flagged == 0)
341 {
342 buf_strcpy(buf, "");
343 }
344 else if (m->msg_flagged == 1)
345 {
346 buf_strcpy(buf, "!");
347 }
348 else if (m->msg_flagged == 2)
349 {
350 buf_strcpy(buf, "!!");
351 }
352 else
353 {
354 buf_printf(buf, "%d!", m->msg_flagged);
355 }
356}
int msg_flagged
Number of flagged messages.
Definition: mailbox.h:90
Info about folders in the sidebar.
Definition: private.h:41
struct Mailbox * mailbox
Mailbox this represents.
Definition: private.h:45
Data passed to sidebar_format_str()
Definition: window.c:89
struct SbEntry * entry
Info about a folder.
Definition: window.c:90
+ Here is the call graph for this function:

◆ sidebar_B()

void sidebar_B ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Sidebar: Name of the mailbox - Implements ExpandoRenderData::get_string() -.

Definition at line 373 of file window.c.

375{
376 const struct SidebarData *sdata = data;
377 const struct SbEntry *sbe = sdata->entry;
378
379 char tmp[256] = { 0 };
380
381 const size_t ilen = sizeof(tmp);
382 const size_t off = add_indent(tmp, ilen, sbe);
383 snprintf(tmp + off, ilen - off, "%s", sbe->box);
384
385 buf_strcpy(buf, tmp);
386}
static size_t add_indent(char *buf, size_t buflen, const struct SbEntry *sbe)
Generate the needed indentation.
Definition: window.c:232
char box[256]
Mailbox path (possibly abbreviated)
Definition: private.h:42
+ Here is the call graph for this function:

◆ sidebar_D()

void sidebar_D ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Sidebar: Descriptive name - Implements ExpandoRenderData::get_string() -.

Definition at line 407 of file window.c.

409{
410 const struct SidebarData *sdata = data;
411 const struct SbEntry *sbe = sdata->entry;
412
413 char tmp[256] = { 0 };
414
415 const size_t ilen = sizeof(tmp);
416 const size_t off = add_indent(tmp, ilen, sbe);
417
418 if (sbe->mailbox->name)
419 {
420 snprintf(tmp + off, ilen - off, "%s", sbe->mailbox->name);
421 }
422 else
423 {
424 snprintf(tmp + off, ilen - off, "%s", sbe->box);
425 }
426
427 buf_strcpy(buf, tmp);
428}
char * name
A short name for the Mailbox.
Definition: mailbox.h:82
+ Here is the call graph for this function:

◆ sidebar_n()

void sidebar_n ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Sidebar: New mail flag - Implements ExpandoRenderData::get_string() -.

Definition at line 473 of file window.c.

475{
476 const struct SidebarData *sdata = data;
477 const struct SbEntry *sbe = sdata->entry;
478 const struct Mailbox *m = sbe->mailbox;
479
480 // NOTE(g0mb4): use $flag_chars?
481 const char *s = m->has_new ? "N" : " ";
482 buf_strcpy(buf, s);
483}
bool has_new
Mailbox has new mail.
Definition: mailbox.h:85
+ Here is the call graph for this function:

◆ status_r()

void status_r ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Modified/read-only flag - Implements ExpandoRenderData::get_string() -.

Definition at line 85 of file status.c.

87{
88 const struct MbTable *c_status_chars = cs_subset_mbtable(NeoMutt->sub, "status_chars");
89 if (!c_status_chars || !c_status_chars->len)
90 return;
91
92 const struct MenuStatusLineData *msld = data;
93 const struct IndexSharedData *shared = msld->shared;
94 const struct Mailbox *m = shared->mailbox;
95
96 size_t i = 0;
97
98 if (m)
99 {
100 i = shared->attach_msg ? 3 :
101 ((m->readonly || m->dontwrite) ? 2 :
102 (m->changed ||
103 /* deleted doesn't necessarily mean changed in IMAP */
104 (m->type != MUTT_IMAP && m->msg_deleted)) ?
105 1 :
106 0);
107 }
108
109 if (i >= c_status_chars->len)
110 buf_addstr(buf, c_status_chars->chars[0]);
111 else
112 buf_addstr(buf, c_status_chars->chars[i]);
113}
@ MUTT_IMAP
'IMAP' Mailbox type
Definition: mailbox.h:50
Data shared between Index, Pager and Sidebar.
Definition: shared_data.h:37
struct Mailbox * mailbox
Current Mailbox.
Definition: shared_data.h:41
bool attach_msg
Are we in "attach message" mode?
Definition: shared_data.h:46
bool changed
Mailbox has been modified.
Definition: mailbox.h:110
int msg_deleted
Number of deleted messages.
Definition: mailbox.h:93
bool dontwrite
Don't write the mailbox on close.
Definition: mailbox.h:111
bool readonly
Don't allow changes to the mailbox.
Definition: mailbox.h:116
char ** chars
The array of multibyte character strings.
Definition: mbtable.h:39
Data for creating a Menu line.
Definition: status.c:77
struct IndexSharedData * shared
Data shared between Index, Pager and Sidebar.
Definition: status.c:78
+ Here is the call graph for this function:

◆ status_D()

void status_D ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Description of the mailbox - Implements ExpandoRenderData::get_string() -.

Definition at line 118 of file status.c.

120{
121 const struct MenuStatusLineData *msld = data;
122 const struct IndexSharedData *shared = msld->shared;
123 const struct Mailbox *m = shared->mailbox;
124
125 // If there's a descriptive name, use it. Otherwise, use %f
126 if (m && m->name)
127 {
128 const char *s = m->name;
129 buf_strcpy(buf, s);
130 return;
131 }
132
133 status_f(node, data, flags, max_cols, buf);
134}
void status_f(const struct ExpandoNode *node, void *data, MuttFormatFlags flags, int max_cols, struct Buffer *buf)
Status: pathname of the mailbox - Implements ExpandoRenderData::get_string() -.
Definition: status.c:139
+ Here is the call graph for this function:

◆ status_f()

void status_f ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: pathname of the mailbox - Implements ExpandoRenderData::get_string() -.

Definition at line 139 of file status.c.

141{
142 const struct MenuStatusLineData *msld = data;
143 const struct IndexSharedData *shared = msld->shared;
144 const struct Mailbox *m = shared->mailbox;
145
146 char tmp[128] = { 0 };
147
148 if (m && m->compress_info && (m->realpath[0] != '\0'))
149 {
150 mutt_str_copy(tmp, m->realpath, sizeof(tmp));
151 mutt_pretty_mailbox(tmp, sizeof(tmp));
152 }
153 else if (m && (m->type == MUTT_NOTMUCH) && m->name)
154 {
155 mutt_str_copy(tmp, m->name, sizeof(tmp));
156 }
157 else if (m && !buf_is_empty(&m->pathbuf))
158 {
159 mutt_str_copy(tmp, mailbox_path(m), sizeof(tmp));
160 mutt_pretty_mailbox(tmp, sizeof(tmp));
161 }
162 else
163 {
164 mutt_str_copy(tmp, _("(no mailbox)"), sizeof(tmp));
165 }
166
167 buf_strcpy(buf, tmp);
168}
void mutt_pretty_mailbox(char *buf, size_t buflen)
Shorten a mailbox path using '~' or '='.
Definition: muttlib.c:475
struct Buffer pathbuf
Path of the Mailbox.
Definition: mailbox.h:80
void * compress_info
Compressed mbox module private data.
Definition: mailbox.h:121
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ status_l()

void status_l ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Size of the current mailbox - Implements ExpandoRenderData::get_string() -.

Definition at line 295 of file status.c.

297{
298 const struct MenuStatusLineData *msld = data;
299 const struct IndexSharedData *shared = msld->shared;
300 const struct Mailbox *m = shared->mailbox;
301
302 char tmp[128] = { 0 };
303
304 const off_t num = m ? m->size : 0;
305 mutt_str_pretty_size(tmp, sizeof(tmp), num);
306 buf_strcpy(buf, tmp);
307}
off_t size
Size of the Mailbox.
Definition: mailbox.h:84
+ Here is the call graph for this function:

◆ status_T()

void status_T ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Current threading mode - Implements ExpandoRenderData::get_string() -.

Definition at line 312 of file status.c.

314{
315 const enum UseThreads c_use_threads = mutt_thread_style();
316 const char *s = get_use_threads_str(c_use_threads);
317 buf_strcpy(buf, s);
318}
const char * get_use_threads_str(enum UseThreads value)
Convert UseThreads enum to string.
Definition: mutt_thread.c:100
enum UseThreads mutt_thread_style(void)
Which threading style is active?
Definition: mutt_thread.c:82
UseThreads
Which threading style is active, $use_threads.
Definition: mutt_thread.h:97
+ Here is the call graph for this function:

◆ status_s()

void status_s ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Sorting mode - Implements ExpandoRenderData::get_string() -.

Definition at line 323 of file status.c.

325{
326 char tmp[128] = { 0 };
327
328 const enum SortType c_sort = cs_subset_sort(NeoMutt->sub, "sort");
329 const char *s = get_sort_str(tmp, sizeof(tmp), c_sort);
330 buf_strcpy(buf, s);
331}
short cs_subset_sort(const struct ConfigSubset *sub, const char *name)
Get a sort config item by name.
Definition: helpers.c:266
SortType
Methods for sorting.
Definition: sort2.h:34
static char * get_sort_str(char *buf, size_t buflen, enum SortType method)
Get the sort method as a string.
Definition: status.c:65
+ Here is the call graph for this function:

◆ status_S()

void status_S ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Aux sorting method - Implements ExpandoRenderData::get_string() -.

Definition at line 336 of file status.c.

338{
339 char tmp[128] = { 0 };
340
341 const enum SortType c_sort_aux = cs_subset_sort(NeoMutt->sub, "sort_aux");
342 const char *s = get_sort_str(tmp, sizeof(tmp), c_sort_aux);
343 buf_strcpy(buf, s);
344}
+ Here is the call graph for this function:

◆ status_P()

void status_P ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Percentage through index - Implements ExpandoRenderData::get_string() -.

Definition at line 365 of file status.c.

367{
368 const struct MenuStatusLineData *msld = data;
369 const struct Menu *menu = msld->menu;
370 if (!menu)
371 return;
372
373 char tmp[128] = { 0 };
374
375 char *cp = NULL;
376 if (menu->top + menu->page_len >= menu->max)
377 {
378 cp = menu->top ?
379 /* L10N: Status bar message: the end of the list emails is visible in the index */
380 _("end") :
381 /* L10N: Status bar message: all the emails are visible in the index */
382 _("all");
383 }
384 else
385 {
386 int count = (100 * (menu->top + menu->page_len)) / menu->max;
387 /* L10N: Status bar, percentage of way through index.
388 `%d` is the number, `%%` is the percent symbol.
389 They may be reordered, or space inserted, if you wish. */
390 snprintf(tmp, sizeof(tmp), _("%d%%"), count);
391 cp = tmp;
392 }
393
394 buf_strcpy(buf, cp);
395}
struct Menu * menu
Current Menu.
Definition: status.c:79
Definition: lib.h:79
int top
Entry that is the top of the current page.
Definition: lib.h:90
int max
Number of entries in the menu.
Definition: lib.h:81
int page_len
Number of entries per screen.
Definition: lib.h:84
+ Here is the call graph for this function:

◆ status_h()

void status_h ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Local hostname - Implements ExpandoRenderData::get_string() -.

Definition at line 400 of file status.c.

402{
403 const char *s = ShortHostname;
404 buf_strcpy(buf, s);
405}
+ Here is the call graph for this function:

◆ status_L()

void status_L ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Size of the messages - Implements ExpandoRenderData::get_string() -.

Definition at line 424 of file status.c.

426{
427 const struct MenuStatusLineData *msld = data;
428 const struct IndexSharedData *shared = msld->shared;
429 const struct MailboxView *mailbox_view = shared->mailbox_view;
430
431 char tmp[128] = { 0 };
432
433 const off_t num = mailbox_view ? mailbox_view->vsize : 0;
434 mutt_str_pretty_size(tmp, sizeof(tmp), num);
435 buf_strcpy(buf, tmp);
436}
struct MailboxView * mailbox_view
Current Mailbox view.
Definition: shared_data.h:40
View of a Mailbox.
Definition: mview.h:40
off_t vsize
Size (in bytes) of the messages shown.
Definition: mview.h:41
+ Here is the call graph for this function:

◆ status_v()

void status_v ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Version string - Implements ExpandoRenderData::get_string() -.

Definition at line 465 of file status.c.

467{
468 const char *s = mutt_make_version();
469 buf_strcpy(buf, s);
470}
+ Here is the call graph for this function:

◆ status_V()

void status_V ( const struct ExpandoNode node,
void *  data,
MuttFormatFlags  flags,
int  max_cols,
struct Buffer buf 
)

Status: Active limit pattern - Implements ExpandoRenderData::get_string() -.

Definition at line 475 of file status.c.

477{
478 const struct MenuStatusLineData *msld = data;
479 const struct IndexSharedData *shared = msld->shared;
480 const struct MailboxView *mailbox_view = shared->mailbox_view;
481
482 const char *s = mview_has_limit(mailbox_view) ? mailbox_view->pattern : "";
483 buf_strcpy(buf, s);
484}
bool mview_has_limit(const struct MailboxView *mv)
Is a limit active?
Definition: mview.c:439
char * pattern
Limit pattern string.
Definition: mview.h:42
+ Here is the call graph for this function: