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 - Wayland client side decorations are now based on config colorscheme
- Low resolution window decoration icon on Windows - Low resolution window decoration icon on Windows
- Mouse bindings for additional buttons need to be specified as a number not a string - 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 ### Fixed

View File

@ -590,12 +590,6 @@ impl<N: Notify + OnResize> Processor<N> {
}, },
WindowEvent::KeyboardInput { input, is_synthetic: false, .. } => { WindowEvent::KeyboardInput { input, is_synthetic: false, .. } => {
processor.key_input(input); 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::ReceivedCharacter(c) => processor.received_char(c),
WindowEvent::MouseInput { state, button, .. } => { 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) { fn execute<A: ActionContext<T>>(&self, ctx: &mut A) {
match *self { match *self {
Action::Esc(ref s) => { Action::Esc(ref s) => {
if ctx.config().ui_config.mouse.hide_when_typing {
ctx.window_mut().set_mouse_visible(false);
}
ctx.clear_selection(); ctx.clear_selection();
ctx.scroll(Scroll::Bottom); ctx.scroll(Scroll::Bottom);
ctx.write_to_pty(s.clone().into_bytes()) ctx.write_to_pty(s.clone().into_bytes())
@ -171,7 +175,13 @@ impl<T: EventListener> Execute<T> for Action {
ctx.launch_url(url); 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(), Action::ToggleFullscreen => ctx.window_mut().toggle_fullscreen(),
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
Action::ToggleSimpleFullscreen => ctx.window_mut().toggle_simple_fullscreen(), Action::ToggleSimpleFullscreen => ctx.window_mut().toggle_simple_fullscreen(),
@ -714,6 +724,10 @@ impl<'a, T: EventListener, A: ActionContext<T>> Processor<'a, T, A> {
return; 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.scroll(Scroll::Bottom);
self.ctx.clear_selection(); self.ctx.clear_selection();