diff options
-rw-r--r-- | src/config.rs | 7 | ||||
-rw-r--r-- | src/input.rs | 8 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/config.rs b/src/config.rs index b941c882..aace4254 100644 --- a/src/config.rs +++ b/src/config.rs @@ -65,6 +65,10 @@ fn deserialize_duration_ms<'a, D>(deserializer: D) -> ::std::result::Result<Dura pub struct Mouse { pub double_click: ClickHandler, pub triple_click: ClickHandler, + + /// Send up/down arrow when scrolling in alt screen buffer + #[serde(default="true_bool")] + pub faux_scrollback: bool, } impl Default for Mouse { @@ -75,7 +79,8 @@ impl Default for Mouse { }, triple_click: ClickHandler { threshold: Duration::from_millis(300), - } + }, + faux_scrollback: true, } } } diff --git a/src/input.rs b/src/input.rs index 6c113ab4..ac4078ee 100644 --- a/src/input.rs +++ b/src/input.rs @@ -391,7 +391,9 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> { }; for _ in 0..(to_scroll.abs() as usize) { - if self.ctx.terminal_mode().intersects(mode::TermMode::ALT_SCREEN) { + if self.mouse_config.faux_scrollback && + self.ctx.terminal_mode().intersects(mode::TermMode::ALT_SCREEN) + { // Faux scrolling if code == 64 { // Scroll up one line @@ -426,7 +428,9 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> { 65 }; - if self.ctx.terminal_mode().intersects(mode::TermMode::ALT_SCREEN) { + if self.mouse_config.faux_scrollback && + self.ctx.terminal_mode().intersects(mode::TermMode::ALT_SCREEN) + { // Faux scrolling if button == 64 { // Scroll up one line |