mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 20:45:59 +01:00
Don't set surface cursors for overriden
This commit is contained in:
parent
5c93f6947a
commit
0e252d2c77
1 changed files with 10 additions and 8 deletions
|
@ -308,14 +308,16 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
|
|||
setCursorIconOnBorder(pFoundWindow);
|
||||
}
|
||||
|
||||
// if we're on an input deco, reset cursor
|
||||
if (!VECINRECT(m_vLastCursorPosFloored, pFoundWindow->m_vRealPosition.vec().x, pFoundWindow->m_vRealPosition.vec().y,
|
||||
pFoundWindow->m_vRealPosition.vec().x + pFoundWindow->m_vRealSize.vec().x, pFoundWindow->m_vRealPosition.vec().y + pFoundWindow->m_vRealSize.vec().y)) {
|
||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
||||
cursorSurfaceInfo.bUsed = false;
|
||||
} else if (!cursorSurfaceInfo.bUsed) {
|
||||
cursorSurfaceInfo.bUsed = true;
|
||||
wlr_cursor_set_surface(g_pCompositor->m_sWLRCursor, cursorSurfaceInfo.pSurface, cursorSurfaceInfo.vHotspot.x, cursorSurfaceInfo.vHotspot.y);
|
||||
// if we're on an input deco, reset cursor. Don't on overriden
|
||||
if (!m_bCursorImageOverriden) {
|
||||
if (!VECINRECT(m_vLastCursorPosFloored, pFoundWindow->m_vRealPosition.vec().x, pFoundWindow->m_vRealPosition.vec().y,
|
||||
pFoundWindow->m_vRealPosition.vec().x + pFoundWindow->m_vRealSize.vec().x, pFoundWindow->m_vRealPosition.vec().y + pFoundWindow->m_vRealSize.vec().y)) {
|
||||
wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
|
||||
cursorSurfaceInfo.bUsed = false;
|
||||
} else if (!cursorSurfaceInfo.bUsed) {
|
||||
cursorSurfaceInfo.bUsed = true;
|
||||
wlr_cursor_set_surface(g_pCompositor->m_sWLRCursor, cursorSurfaceInfo.pSurface, cursorSurfaceInfo.vHotspot.x, cursorSurfaceInfo.vHotspot.y);
|
||||
}
|
||||
}
|
||||
|
||||
if (*PFOLLOWMOUSE != 1 && !refocus) {
|
||||
|
|
Loading…
Reference in a new issue