From 79803313c198a6f10132caa98423f5593d8d5699 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Wed, 7 Nov 2018 17:14:19 +1100 Subject: [PATCH] Fix client sometimes losing focus on linux --- src/NixWindow.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/NixWindow.c b/src/NixWindow.c index 756cf02a8..6c23ea242 100644 --- a/src/NixWindow.c +++ b/src/NixWindow.c @@ -545,6 +545,9 @@ void Window_ProcessEvents(void) { case FocusIn: case FocusOut: { + /* Don't lose focus when another app grabs key or mouse */ + if (e.xfocus.mode == NotifyGrab || e.xfocus.mode == NotifyUngrab) break; + bool wasFocused = Window_Focused; Window_Focused = e.type == FocusIn; if (Window_Focused != wasFocused) { @@ -553,8 +556,7 @@ void Window_ProcessEvents(void) { } break; case MappingNotify: - /* 0 == MappingModifier, 1 == MappingKeyboard */ - if (e.xmapping.request == 0 || e.xmapping.request == 1) { + if (e.xmapping.request == MappingModifier || e.xmapping.request == MappingKeyboard) { Platform_LogConst("keybard mapping refreshed"); XRefreshKeyboardMapping(&e.xmapping); }