feat(tui): results across the top, with panes you can hide, zoom and Tab through
The results pane now has the whole width, where a long file name needs it, and Searches, Downloads and Info share the row underneath. Tab and Shift-Tab walk the panes, z zooms the focused one to the window, w hides it so the others widen, and its number brings it back. Every list takes the same navigation keys, the shortcuts bar wraps instead of cutting keys off, and ? lists every key by pane, scrolling on a short terminal. Follows up on #55.
This commit is contained in:
@@ -43,10 +43,12 @@ pub fn render_searches_pane(
|
||||
} else {
|
||||
search.results.len()
|
||||
};
|
||||
// Nothing yet from a search still out: the status column already
|
||||
// says it is looking.
|
||||
let results_text = if results_count == 0
|
||||
&& search.status == SearchStatus::Active
|
||||
{
|
||||
"Searching...".to_string()
|
||||
"…".to_string()
|
||||
} else {
|
||||
format!("{results_count}")
|
||||
};
|
||||
@@ -59,10 +61,12 @@ pub fn render_searches_pane(
|
||||
})
|
||||
.collect();
|
||||
|
||||
// The pane shares a row with two others, so the fixed columns are as
|
||||
// narrow as their widest word: the query gets the rest.
|
||||
let widths = [
|
||||
ratatui::layout::Constraint::Length(15),
|
||||
ratatui::layout::Constraint::Length(6),
|
||||
ratatui::layout::Constraint::Fill(1),
|
||||
ratatui::layout::Constraint::Length(10),
|
||||
ratatui::layout::Constraint::Length(7),
|
||||
];
|
||||
|
||||
let table = Table::new(rows, widths)
|
||||
|
||||
Reference in New Issue
Block a user