bool draw_author(struct view *view, const struct ident *author) { bool trim = author_trim(opt_author_width); const char *text = mkauthor(author, opt_author_width, opt_show_author); if (opt_show_author == AUTHOR_NO) return FALSE; return draw_field(view, LINE_AUTHOR, text, opt_author_width, ALIGN_LEFT, trim); }
static bool draw_author(struct view *view, struct view_column *column, const struct ident *author) { bool trim = author_trim(column->width); const char *text = mkauthor(author, column->opt.author.width, column->opt.author.display); if (column->opt.author.display == AUTHOR_NO) return false; return draw_field(view, LINE_AUTHOR, text, column->width, ALIGN_LEFT, trim); }
const char * mkauthor(const struct ident *ident, int cols, enum author author) { bool trim = author_trim(cols); bool abbreviate = author == AUTHOR_ABBREVIATED || !trim; if (author == AUTHOR_NO || !ident) return ""; if (author == AUTHOR_EMAIL && ident->email) return ident->email; if (author == AUTHOR_EMAIL_USER && ident->email) return get_email_user(ident->email); if (abbreviate && ident->name) return get_author_initials(ident->name); return ident->name; }