static void output_plain_fields (MuMsg *msg, const char *fields, gboolean color, gboolean threads) { const char* myfields; int nonempty; g_return_if_fail (fields); for (myfields = fields, nonempty = 0; *myfields; ++myfields) { MuMsgFieldId mfid; mfid = mu_msg_field_id_from_shortcut (*myfields, FALSE); if (mfid == MU_MSG_FIELD_ID_NONE || (!mu_msg_field_xapian_value (mfid) && !mu_msg_field_xapian_contact (mfid))) nonempty += printf ("%c", *myfields); else { ansi_color_maybe (mfid, color); nonempty += mu_util_fputs_encoded (display_field (msg, mfid), stdout); ansi_reset_maybe (mfid, color); } } if (nonempty) fputs ("\n", stdout); }
static void each_part_show (MuMsg *msg, MuMsgPart *part, gboolean color) { /* index */ g_print (" %u ", part->index); /* filename */ color_maybe (MU_COLOR_GREEN); { gchar *fname; fname = mu_msg_part_get_filename (part, FALSE); mu_util_fputs_encoded (fname ? fname : "<none>", stdout); g_free (fname); } /* content-type */ color_maybe (MU_COLOR_BLUE); mu_util_print_encoded ( " %s/%s ", part->type ? part->type : "<none>", part->subtype ? part->subtype : "<none>"); /* /\* disposition *\/ */ color_maybe (MU_COLOR_MAGENTA); mu_util_print_encoded ("[%s]", disp_str(part->part_type)); /* size */ if (part->size > 0) { color_maybe (MU_COLOR_CYAN); g_print (" (%s)", mu_str_size_s (part->size)); } color_maybe (MU_COLOR_DEFAULT); fputs ("\n", stdout); }
static void each_part_show (MuMsg *msg, MuMsgPart *part, gboolean color) { /* index */ g_print (" %u ", part->index); /* filename */ color_maybe (MU_COLOR_GREEN); mu_util_fputs_encoded (part->file_name ? part->file_name : "<none>", stdout); /* content-type */ color_maybe (MU_COLOR_BLUE); mu_util_print_encoded ( " %s/%s ", part->type ? part->type : "<none>", part->subtype ? part->subtype : "<none>"); /* disposition */ color_maybe (MU_COLOR_MAGENTA); mu_util_print_encoded ( "[%s]", part->disposition ? part->disposition : "<none>"); /* size */ if (part->size > 0) { color_maybe (MU_COLOR_CYAN); g_print (" (%s)", mu_str_size_s (part->size)); } color_maybe (MU_COLOR_DEFAULT); fputs ("\n", stdout); }
static void print_plain (const char *email, const char *name, gboolean color) { if (name) { if (color) fputs (MU_COLOR_MAGENTA, stdout); mu_util_fputs_encoded (name, stdout); fputs (" ", stdout); } if (color) fputs (MU_COLOR_GREEN, stdout); mu_util_fputs_encoded (email, stdout); if (color) fputs (MU_COLOR_DEFAULT, stdout); fputs ("\n", stdout); }
static void print_field (const char* field, const char *val, gboolean color) { if (!val) return; color_maybe (MU_COLOR_MAGENTA); mu_util_fputs_encoded (field, stdout); color_maybe (MU_COLOR_DEFAULT); fputs (": ", stdout); if (val) { color_maybe (MU_COLOR_GREEN); mu_util_fputs_encoded (val, stdout); } color_maybe (MU_COLOR_DEFAULT); fputs ("\n", stdout); }
static gboolean print_args (FILE *stream, const char *frm, va_list args) { gchar *str; gboolean rv; str = g_strdup_vprintf (frm, args); rv = mu_util_fputs_encoded (str, stream); g_free (str); return rv; }
static void output_plain_fields (MuMsg *msg, const char *fields, gboolean color, gboolean threads) { const char* myfields; int nonempty, backslash = 0; MuMsgFieldId mfid; g_return_if_fail (fields); for (myfields = fields, nonempty = 0; *myfields; ++myfields) { if (backslash) { /* Just saw a backslash, interpret special char */ switch (*myfields) { case 'n': printf("\n"); break; case 't': printf("\t"); break; default: printf("\\%c", *myfields); break; }; backslash = 0; } else if (*myfields == '\\') { /* Looks like we are about to see a special char */ backslash = 1; continue; } else { mfid = mu_msg_field_id_from_shortcut (*myfields, FALSE); if (mfid == MU_MSG_FIELD_ID_NONE || (!mu_msg_field_xapian_value (mfid) && !mu_msg_field_xapian_contact (mfid))) nonempty += printf ("%c", *myfields); else { ansi_color_maybe (mfid, color); nonempty += mu_util_fputs_encoded (display_field (msg, mfid), stdout); ansi_reset_maybe (mfid, color); } } } if (nonempty) fputs ("\n", stdout); }
static void print_summary (MuMsg *msg, MuConfig *opts) { const char* body; char *summ; MuMsgOptions msgopts; msgopts = mu_config_get_msg_options (opts); body = mu_msg_get_body_text(msg, msgopts); if (body) summ = mu_str_summarize (body, (unsigned)opts->summary_len); else summ = NULL; g_print ("Summary: "); mu_util_fputs_encoded (summ ? summ : "<none>", stdout); g_print ("\n"); g_free (summ); }