From c94a981711009078c9b5f77f685f1483222071b4 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 16 Dec 2025 15:55:54 +0000 Subject: [PATCH] input: simplify mouseMoveUnified a tad --- src/managers/input/InputManager.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 6908838ee..aac6c3ad7 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -350,12 +350,15 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st const auto BOX = HLSurface->getSurfaceBoxGlobal(); if (BOX) { - const auto PWINDOW = HLSurface->view()->type() == Desktop::View::VIEW_TYPE_WINDOW ? dynamicPointerCast(HLSurface->view()) : nullptr; + const auto PWINDOW = Desktop::View::CWindow::fromView(HLSurface->view()); + const auto LS = Desktop::View::CLayerSurface::fromView(HLSurface->view()); surfacePos = BOX->pos(); - pFoundLayerSurface = - HLSurface->view()->type() == Desktop::View::VIEW_TYPE_LAYER_SURFACE ? dynamicPointerCast(HLSurface->view()) : nullptr; - if (!pFoundLayerSurface) - pFoundWindow = !PWINDOW || PWINDOW->isHidden() ? Desktop::focusState()->window() : PWINDOW; + + if (PWINDOW) + pFoundWindow = PWINDOW; + else if (LS) + pFoundLayerSurface = LS; + } else // reset foundSurface, find one normally foundSurface = nullptr; } else // reset foundSurface, find one normally @@ -520,13 +523,6 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st Vector2D surfaceLocal = surfacePos == Vector2D(-1337, -1337) ? surfaceCoords : mouseCoords - surfacePos; - if (pFoundWindow && !pFoundWindow->m_isX11 && surfacePos != Vector2D(-1337, -1337)) { - // calc for oversized windows... fucking bullshit. - CBox geom = pFoundWindow->m_xdgSurface->m_current.geometry; - - surfaceLocal = mouseCoords - surfacePos + geom.pos(); - } - if (pFoundWindow && pFoundWindow->m_isX11) // for x11 force scale zero surfaceLocal = surfaceLocal * pFoundWindow->m_X11SurfaceScaledBy;