Remove right click deselection

Fixes #3144.
This commit is contained in:
Stefan Devai 2020-03-19 13:39:00 +01:00 committed by GitHub
parent 01e603519a
commit 3d7a789fd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 14 deletions

View File

@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Block cursor is no longer inverted at the start/end of a selection
- Preserve selection on non-LMB or mouse mode clicks
## 0.4.2-dev

View File

@ -504,23 +504,28 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> {
ClickState::TripleClick
}
_ => {
// Don't launch URLs if this click cleared the selection
self.ctx.mouse_mut().block_url_launcher = !self.ctx.selection_is_empty();
if button == MouseButton::Left
&& (self.ctx.modifiers().shift()
|| !self.ctx.terminal().mode().intersects(TermMode::MOUSE_MODE))
{
// Don't launch URLs if this click cleared the selection
self.ctx.mouse_mut().block_url_launcher = !self.ctx.selection_is_empty();
self.ctx.clear_selection();
self.ctx.clear_selection();
// Start new empty selection
let side = self.ctx.mouse().cell_side;
if self.ctx.modifiers().ctrl() {
self.ctx.start_selection(SelectionType::Block, point, side);
} else {
self.ctx.start_selection(SelectionType::Simple, point, side);
}
// Start new empty selection
let side = self.ctx.mouse().cell_side;
if self.ctx.modifiers().ctrl() {
self.ctx.start_selection(SelectionType::Block, point, side);
} else {
self.ctx.start_selection(SelectionType::Simple, point, side);
}
// Move vi mode cursor to mouse position
if self.ctx.terminal().mode().contains(TermMode::VI) {
// Update vi mode cursor position on click
self.ctx.terminal_mut().vi_mode_cursor.point = point;
// Move vi mode cursor to mouse position
if self.ctx.terminal().mode().contains(TermMode::VI) {
// Update vi mode cursor position on click
self.ctx.terminal_mut().vi_mode_cursor.point = point;
}
}
if !self.ctx.modifiers().shift() && self.ctx.mouse_mode() {