From 1759b0483c42421e5e99f4a26b7bb11648407c42 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 28 Oct 2022 19:20:12 +0100 Subject: [PATCH] constrain mouse on focus change --- src/Compositor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Compositor.cpp b/src/Compositor.cpp index fccd43c2..499c3fd7 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -779,6 +779,14 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { if (pWindow->m_phForeignToplevel) wlr_foreign_toplevel_handle_v1_set_activated(pWindow->m_phForeignToplevel, true); + + if (!pWindow->m_bIsX11) { + const auto PCONSTRAINT = wlr_pointer_constraints_v1_constraint_for_surface(m_sWLRPointerConstraints, pWindow->m_uSurface.xdg->surface, m_sSeat.seat); + + if (PCONSTRAINT) + g_pInputManager->constrainMouse(m_sSeat.mouse, PCONSTRAINT); + } + } void CCompositor::focusSurface(wlr_surface* pSurface, CWindow* pWindowOwner) {