diff options
-rw-r--r-- | src/display/mod.rs | 5 | ||||
-rw-r--r-- | src/main.rs | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/display/mod.rs b/src/display/mod.rs index 1c26678..8760f4a 100644 --- a/src/display/mod.rs +++ b/src/display/mod.rs @@ -108,8 +108,9 @@ pub fn paint(tweeter: &mut ::tw::TwitterCache) -> Result<(), std::io::Error> { } // draw status lines // draw tweets - let last_twevent = tweeter.display_info.infos.len().saturating_sub(height as usize - 4).saturating_sub(tweeter.display_info.infos_seek as usize); - let last_few_twevent: Vec<Infos> = tweeter.display_info.infos[last_twevent..].iter().map(|x| x.clone()).rev().collect::<Vec<Infos>>(); + let last_tail_twevent = tweeter.display_info.infos.len().saturating_sub(tweeter.display_info.infos_seek as usize); + let first_tail_twevent = last_tail_twevent.saturating_sub(height as usize - 4); + let last_few_twevent: Vec<Infos> = tweeter.display_info.infos[first_tail_twevent..last_tail_twevent].iter().map(|x| x.clone()).rev().collect::<Vec<Infos>>(); let mut h = tweeter.display_info.ui_height(); diff --git a/src/main.rs b/src/main.rs index 6bed875..ecac646 100644 --- a/src/main.rs +++ b/src/main.rs @@ -324,7 +324,7 @@ fn handle_input(event: termion::event::Event, tweeter: &mut tw::TwitterCache, qu } }, Event::Key(Key::PageUp) => { - tweeter.display_info.infos_seek += 1; + tweeter.display_info.infos_seek = tweeter.display_info.infos_seek.saturating_add(1); } Event::Key(Key::PageDown) => { tweeter.display_info.infos_seek = tweeter.display_info.infos_seek.saturating_sub(1); |