diff options
author | Christian Duerr <contact@christianduerr.com> | 2020-07-27 19:05:25 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-27 22:05:25 +0300 |
commit | a7d5a965c54aab85ea7671b4622edd13262f60d7 (patch) | |
tree | 4a68a678fdceff19e5c0d2dd3d62c89b516d3d91 /alacritty/src/input.rs | |
parent | 86c978694ad2078a99a90f10cb12424f42a2b271 (diff) | |
download | r-alacritty-a7d5a965c54aab85ea7671b4622edd13262f60d7.tar.gz r-alacritty-a7d5a965c54aab85ea7671b4622edd13262f60d7.tar.bz2 r-alacritty-a7d5a965c54aab85ea7671b4622edd13262f60d7.zip |
Fix scrolling with selection expansion
Fixes #4040.
Diffstat (limited to 'alacritty/src/input.rs')
-rw-r--r-- | alacritty/src/input.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/alacritty/src/input.rs b/alacritty/src/input.rs index 80f3e5d9..b6aca62b 100644 --- a/alacritty/src/input.rs +++ b/alacritty/src/input.rs @@ -366,7 +366,8 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> { let (x, y) = position.into(); let lmb_pressed = self.ctx.mouse().left_button_state == ElementState::Pressed; - if !self.ctx.selection_is_empty() && lmb_pressed && !search_active { + let rmb_pressed = self.ctx.mouse().right_button_state == ElementState::Pressed; + if !self.ctx.selection_is_empty() && (lmb_pressed || rmb_pressed) && !search_active { self.update_selection_scrolling(y); } @@ -405,7 +406,7 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> { self.ctx.window_mut().set_mouse_cursor(mouse_state.into()); let last_term_line = self.ctx.terminal().grid().screen_lines() - 1; - if (lmb_pressed || self.ctx.mouse().right_button_state == ElementState::Pressed) + if (lmb_pressed || rmb_pressed) && (self.ctx.modifiers().shift() || !self.ctx.mouse_mode()) && !search_active { |