diff options
-rw-r--r-- | src/ui/views/tui_command_menu.rs | 18 | ||||
-rw-r--r-- | src/ui/views/tui_folder_view.rs | 4 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/ui/views/tui_command_menu.rs b/src/ui/views/tui_command_menu.rs index 434d15e..c1bc627 100644 --- a/src/ui/views/tui_command_menu.rs +++ b/src/ui/views/tui_command_menu.rs @@ -36,11 +36,11 @@ impl TuiCommandMenu { loop { let _ = terminal.draw(|frame| { - let f_size: Rect = frame.size(); + let area = frame.size(); { let view = TuiView::new(&context); - frame.render_widget(view, f_size); + frame.render_widget(view, area); } { @@ -54,21 +54,27 @@ impl TuiCommandMenu { let display_str: Vec<&str> = display_vec.iter().map(|v| v.as_str()).collect(); let display_str_len = display_str.len(); - let y = if (f_size.height as usize) + let y = if (area.height as usize) < display_str_len + BORDER_HEIGHT + BOTTOM_MARGIN { 0 } else { - f_size.height + area.height - (BORDER_HEIGHT + BOTTOM_MARGIN) as u16 - display_str_len as u16 }; + let menu_height = if display_str_len + BORDER_HEIGHT > area.height as usize { + area.height + } else { + (display_str_len + BORDER_HEIGHT) as u16 + }; + let menu_rect = Rect { x: 0, y, - width: f_size.width, - height: (display_str_len + BORDER_HEIGHT) as u16, + width: area.width, + height: menu_height, }; frame.render_widget(Clear, menu_rect); diff --git a/src/ui/views/tui_folder_view.rs b/src/ui/views/tui_folder_view.rs index c50c5a1..be3909a 100644 --- a/src/ui/views/tui_folder_view.rs +++ b/src/ui/views/tui_folder_view.rs @@ -72,9 +72,7 @@ impl<'a> Widget for TuiFolderView<'a> { right, }; - if parent_list.as_ref().is_some() { - intersections.render_left(buf); - } + intersections.render_left(buf); if child_list.as_ref().is_some() { intersections.render_right(buf); } |