diff --git a/src/lib.rs b/src/lib.rs index 0c2509e..cd2dcb3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -266,10 +266,21 @@ pub fn main(config: &Config, terminal: &mut Terminal>) .style(Style::default().fg(Color::Yellow)); frame.render_widget(p, layout[0]); } else { + let max_from = emails.iter() + .map(|e| e.from.chars().count()) + .max() + .unwrap_or(20) + .min(40); let items: Vec = emails .iter() .map(|e| { - ListItem::new(format!("{} | {} | {}", e.date, e.from, e.subject)) + let from_len = e.from.chars().count(); + let from = if from_len > max_from { + format!("{}…", e.from.chars().take(max_from.saturating_sub(1)).collect::()) + } else { + format!("{: