@@ -139,7 +139,17 @@ impl<T: Item> Menu<T> {
143+ let height = self.matches.len().min(10).min(viewport.1 as usize);
144+ // do all the matches fit on a single screen?
145+ let fits = self.matches.len() <= height;
147+ let mut len = max_lens.iter().sum::<usize>() + n;
142− let len = max_lens.iter().sum::<usize>() + n + 1; // +1: reserve some space for scrollbar
150+ len += 1; // +1: reserve some space for scrollbar
143 let width = len.min(viewport.0 as usize);
153 let width = len.min(viewport.0 as usize);
145 self.widths = max_lens
155 self.widths = max_lens
@@ -147,8 +157,6 @@ impl<T: Item> Menu<T> {
147 .map(|len| Constraint::Length(len as u16))
157 .map(|len| Constraint::Length(len as u16))
148 .collect();
158 .collect();
150− let height = self.matches.len().min(10).min(viewport.1 as usize);
152 self.size = (width as u16, height as u16);
160 self.size = (width as u16, height as u16);
154 // adjust scroll offsets if size changed
162 // adjust scroll offsets if size changed