Don't hide cursor on modifier press

Fixes #2761.
This commit is contained in:
David Herberth 2020-05-06 23:58:43 +02:00 committed by GitHub
parent 81ce93574f
commit becd7cf459
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 7 deletions

View File

@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Wayland client side decorations are now based on config colorscheme
- Low resolution window decoration icon on Windows
- Mouse bindings for additional buttons need to be specified as a number not a string
- Don't hide cursor on modifier press with `mouse.hide_when_typing` enabled
### Fixed

View File

@ -590,12 +590,6 @@ impl<N: Notify + OnResize> Processor<N> {
},
WindowEvent::KeyboardInput { input, is_synthetic: false, .. } => {
processor.key_input(input);
if input.state == ElementState::Pressed {
// Hide cursor while typing.
if processor.ctx.config.ui_config.mouse.hide_when_typing {
processor.ctx.window.set_mouse_visible(false);
}
}
},
WindowEvent::ReceivedCharacter(c) => processor.received_char(c),
WindowEvent::MouseInput { state, button, .. } => {

View File

@ -128,6 +128,10 @@ impl<T: EventListener> Execute<T> for Action {
fn execute<A: ActionContext<T>>(&self, ctx: &mut A) {
match *self {
Action::Esc(ref s) => {
if ctx.config().ui_config.mouse.hide_when_typing {
ctx.window_mut().set_mouse_visible(false);
}
ctx.clear_selection();
ctx.scroll(Scroll::Bottom);
ctx.write_to_pty(s.clone().into_bytes())
@ -171,7 +175,13 @@ impl<T: EventListener> Execute<T> for Action {
ctx.launch_url(url);
}
},
Action::ViMotion(motion) => ctx.terminal_mut().vi_motion(motion),
Action::ViMotion(motion) => {
if ctx.config().ui_config.mouse.hide_when_typing {
ctx.window_mut().set_mouse_visible(false);
}
ctx.terminal_mut().vi_motion(motion)
},
Action::ToggleFullscreen => ctx.window_mut().toggle_fullscreen(),
#[cfg(target_os = "macos")]
Action::ToggleSimpleFullscreen => ctx.window_mut().toggle_simple_fullscreen(),
@ -714,6 +724,10 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> {
return;
}
if self.ctx.config().ui_config.mouse.hide_when_typing {
self.ctx.window_mut().set_mouse_visible(false);
}
self.ctx.scroll(Scroll::Bottom);
self.ctx.clear_selection();