diff options
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/Renderer.cpp | 7 | ||||
| -rw-r--r-- | src/render/Renderer.hpp | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index affb49ff..f7328997 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -772,7 +772,8 @@ void CHyprRenderer::ensureCursorRenderingMode() { } else if (*PCURSORTIMEOUT > PASSEDCURSORSECONDS && !m_bHasARenderedCursor) { m_bHasARenderedCursor = true; - wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor); + if (!m_bWindowRequestedCursorHide) + wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor); Debug::log(LOG, "Showing the cursor (timeout)"); @@ -782,4 +783,8 @@ void CHyprRenderer::ensureCursorRenderingMode() { } else { m_bHasARenderedCursor = true; } +} + +bool CHyprRenderer::shouldRenderCursor() { + return m_bHasARenderedCursor; }
\ No newline at end of file diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 73508623..43a241ed 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -32,6 +32,9 @@ public: bool shouldRenderWindow(CWindow*, SMonitor*); bool shouldRenderWindow(CWindow*); void ensureCursorRenderingMode(); + bool shouldRenderCursor(); + + bool m_bWindowRequestedCursorHide = false; DAMAGETRACKINGMODES damageTrackingModeFromStr(const std::string&); |
