parent
01e603519a
commit
3d7a789fd3
|
@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Block cursor is no longer inverted at the start/end of a selection
|
- 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
|
## 0.4.2-dev
|
||||||
|
|
||||||
|
|
|
@ -504,23 +504,28 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> {
|
||||||
ClickState::TripleClick
|
ClickState::TripleClick
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
// Don't launch URLs if this click cleared the selection
|
if button == MouseButton::Left
|
||||||
self.ctx.mouse_mut().block_url_launcher = !self.ctx.selection_is_empty();
|
&& (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
|
// Start new empty selection
|
||||||
let side = self.ctx.mouse().cell_side;
|
let side = self.ctx.mouse().cell_side;
|
||||||
if self.ctx.modifiers().ctrl() {
|
if self.ctx.modifiers().ctrl() {
|
||||||
self.ctx.start_selection(SelectionType::Block, point, side);
|
self.ctx.start_selection(SelectionType::Block, point, side);
|
||||||
} else {
|
} else {
|
||||||
self.ctx.start_selection(SelectionType::Simple, point, side);
|
self.ctx.start_selection(SelectionType::Simple, point, side);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move vi mode cursor to mouse position
|
// Move vi mode cursor to mouse position
|
||||||
if self.ctx.terminal().mode().contains(TermMode::VI) {
|
if self.ctx.terminal().mode().contains(TermMode::VI) {
|
||||||
// Update vi mode cursor position on click
|
// Update vi mode cursor position on click
|
||||||
self.ctx.terminal_mut().vi_mode_cursor.point = point;
|
self.ctx.terminal_mut().vi_mode_cursor.point = point;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !self.ctx.modifiers().shift() && self.ctx.mouse_mode() {
|
if !self.ctx.modifiers().shift() && self.ctx.mouse_mode() {
|
||||||
|
|
Loading…
Reference in New Issue