renderer: cursor hiding logic improvements (#4184)

Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
This commit is contained in:
dusanx
2023-12-18 16:06:06 +00:00
committed by GitHub
parent 460a326c90
commit 0c74df4f9e
3 changed files with 39 additions and 31 deletions

View File

@@ -324,13 +324,11 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
unsetCursorImage();
}
if (g_pHyprRenderer->m_bHasARenderedCursor) {
// TODO: maybe wrap?
if (m_ecbClickBehavior == CLICKMODE_KILL)
setCursorImageOverride("crosshair");
else
setCursorImageOverride("left_ptr");
}
// TODO: maybe wrap?
if (m_ecbClickBehavior == CLICKMODE_KILL)
setCursorImageOverride("crosshair");
else
setCursorImageOverride("left_ptr");
m_bEmptyFocusCursorSet = true;
}
@@ -490,7 +488,7 @@ void CInputManager::processMouseRequest(wlr_seat_pointer_request_set_cursor_even
else
g_pHyprRenderer->m_bWindowRequestedCursorHide = false;
if (!cursorImageUnlocked() || !g_pHyprRenderer->m_bHasARenderedCursor)
if (!cursorImageUnlocked())
return;
if (e->seat_client == g_pCompositor->m_sSeat.seat->pointer_state.focused_client) {
@@ -513,7 +511,7 @@ void CInputManager::processMouseRequest(wlr_seat_pointer_request_set_cursor_even
}
void CInputManager::processMouseRequest(wlr_cursor_shape_manager_v1_request_set_shape_event* e) {
if (!g_pHyprRenderer->m_bHasARenderedCursor || !cursorImageUnlocked())
if (!cursorImageUnlocked())
return;
if (e->seat_client == g_pCompositor->m_sSeat.seat->pointer_state.focused_client) {
@@ -555,9 +553,6 @@ void CInputManager::setCursorImageOverride(const std::string& name) {
}
bool CInputManager::cursorImageUnlocked() {
if (!g_pHyprRenderer->m_bHasARenderedCursor)
return false;
if (m_ecbClickBehavior == CLICKMODE_KILL)
return false;