From 0e6e8461eb0139c2ecd4c66d7995cefe2a7f5195 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Fri, 25 Nov 2022 11:34:29 +0000 Subject: [PATCH] reset m_bEmptyFocusCursorSet on workspace switch --- src/managers/KeybindManager.cpp | 2 ++ src/managers/input/InputManager.cpp | 2 +- src/managers/input/InputManager.hpp | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 5ac399c7..f6e91309 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -707,6 +707,8 @@ void CKeybindManager::changeworkspace(std::string args) { // remove constraints g_pInputManager->unconstrainMouse(); + g_pInputManager->m_bEmptyFocusCursorSet = false; + // if it's not internal, we will unfocus to prevent stuck focus if (!internal) g_pCompositor->focusWindow(nullptr); diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 7586247e..eade4bda 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -218,7 +218,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor); else wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor); - + m_bEmptyFocusCursorSet = true; } diff --git a/src/managers/input/InputManager.hpp b/src/managers/input/InputManager.hpp index f570efcb..5e3db515 100644 --- a/src/managers/input/InputManager.hpp +++ b/src/managers/input/InputManager.hpp @@ -25,6 +25,8 @@ struct STouchData { Vector2D touchSurfaceOrigin; }; +class CKeybindManager; + class CInputManager { public: @@ -161,6 +163,8 @@ private: // swipe void beginWorkspaceSwipe(); + + friend class CKeybindManager; }; inline std::unique_ptr g_pInputManager;