aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config.rs7
-rw-r--r--src/input.rs8
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