diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 85767e69..fe51c494 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -568,9 +568,12 @@ void CInputManager::updateDragIcon() { switch (g_pInputManager->m_sDrag.dragIcon->drag->grab_type) { case WLR_DRAG_GRAB_KEYBOARD: break; - case WLR_DRAG_GRAB_KEYBOARD_POINTER: + case WLR_DRAG_GRAB_KEYBOARD_POINTER: { + wlr_box box = {g_pInputManager->m_sDrag.pos.x - 2, g_pInputManager->m_sDrag.pos.y - 2, g_pInputManager->m_sDrag.dragIcon->surface->current.width + 4, g_pInputManager->m_sDrag.dragIcon->surface->current.height + 4}; + g_pHyprRenderer->damageBox(&box); g_pInputManager->m_sDrag.pos = g_pInputManager->getMouseCoordsInternal(); break; + } default: break; } diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index b1ecde71..731674d6 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -627,6 +627,9 @@ void CHyprRenderer::renderDragIcon(SMonitor* pMonitor, timespec* time) { renderdata.h = g_pInputManager->m_sDrag.dragIcon->surface->current.height; wlr_surface_for_each_surface(g_pInputManager->m_sDrag.dragIcon->surface, renderSurface, &renderdata); + + wlr_box box = {g_pInputManager->m_sDrag.pos.x - 2, g_pInputManager->m_sDrag.pos.y - 2, g_pInputManager->m_sDrag.dragIcon->surface->current.width + 4, g_pInputManager->m_sDrag.dragIcon->surface->current.height + 4}; + g_pHyprRenderer->damageBox(&box); } DAMAGETRACKINGMODES CHyprRenderer::damageTrackingModeFromStr(const std::string& mode) {