diff options
Diffstat (limited to 'src/events/Devices.cpp')
| -rw-r--r-- | src/events/Devices.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/events/Devices.cpp b/src/events/Devices.cpp index 09f7d2ab..c2e6b39a 100644 --- a/src/events/Devices.cpp +++ b/src/events/Devices.cpp @@ -55,7 +55,16 @@ void Events::listener_mouseAxis(wl_listener* listener, void* data) { void Events::listener_requestMouse(wl_listener* listener, void* data) { const auto EVENT = (wlr_seat_pointer_request_set_cursor_event*)data; + + if (!g_pHyprRenderer->shouldRenderCursor()) + return; + if (!EVENT->surface) { + g_pHyprRenderer->m_bWindowRequestedCursorHide = true; + } else { + g_pHyprRenderer->m_bWindowRequestedCursorHide = false; + } + if (EVENT->seat_client == g_pCompositor->m_sSeat.seat->pointer_state.focused_client) wlr_cursor_set_surface(g_pCompositor->m_sWLRCursor, EVENT->surface, EVENT->hotspot_x, EVENT->hotspot_y); } |
