aboutsummaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorBrooks Rady <b.j.rady@gmail.com>2021-04-22 00:25:43 +0100
committerGitHub <noreply@github.com>2021-04-22 00:25:43 +0100
commit19fc0496a34565049cf1085ebf7071b7a6d3ef3d (patch)
treef1ec6c15136949b9b5521275289a1bd7ab9ab194 /src/client
parentdocs(changelog): update status bar change (diff)
parentadd PGUP/PGDN to help info (diff)
downloadsl0ppij-19fc0496a34565049cf1085ebf7071b7a6d3ef3d.tar.gz
sl0ppij-19fc0496a34565049cf1085ebf7071b7a6d3ef3d.tar.xz
sl0ppij-19fc0496a34565049cf1085ebf7071b7a6d3ef3d.zip
feat(actions): allow scrolling by full pages
PR #298
Diffstat (limited to 'src/client')
-rw-r--r--src/client/tab.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/client/tab.rs b/src/client/tab.rs
index f938348e..acccde3a 100644
--- a/src/client/tab.rs
+++ b/src/client/tab.rs
@@ -2174,6 +2174,30 @@ impl Tab {
self.render();
}
}
+ pub fn scroll_active_terminal_up_page(&mut self) {
+ if let Some(active_terminal_id) = self.get_active_terminal_id() {
+ let active_terminal = self
+ .panes
+ .get_mut(&PaneId::Terminal(active_terminal_id))
+ .unwrap();
+ // prevent overflow when row == 0
+ let scroll_columns = active_terminal.rows().max(1) - 1;
+ active_terminal.scroll_up(scroll_columns);
+ self.render();
+ }
+ }
+ pub fn scroll_active_terminal_down_page(&mut self) {
+ if let Some(active_terminal_id) = self.get_active_terminal_id() {
+ let active_terminal = self
+ .panes
+ .get_mut(&PaneId::Terminal(active_terminal_id))
+ .unwrap();
+ // prevent overflow when row == 0
+ let scroll_columns = active_terminal.rows().max(1) - 1;
+ active_terminal.scroll_down(scroll_columns);
+ self.render();
+ }
+ }
pub fn clear_active_terminal_scroll(&mut self) {
if let Some(active_terminal_id) = self.get_active_terminal_id() {
let active_terminal = self