From ddcd4fb767afe8490a239ab019012a78d368eb5e Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 5 Apr 2022 18:29:58 +0200 Subject: Mostly fixes #5 --- src/Compositor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 0bf2ffcf..bf36bf89 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -361,6 +361,14 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { return; } + if (m_pLastWindow == pWindow) + return; + + if (windowValidMapped(m_pLastWindow) && m_pLastWindow->m_bIsX11) { + wlr_seat_keyboard_notify_clear_focus(m_sSeat.seat); + wlr_seat_pointer_clear_focus(m_sSeat.seat); + } + const auto PWINDOWSURFACE = pSurface ? pSurface : g_pXWaylandManager->getWindowSurface(pWindow); focusSurface(PWINDOWSURFACE, pWindow); -- cgit v1.2.3