From 5c83976977462696355c2099c48de72c4c11be59 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Tue, 17 Jan 2023 11:47:39 +0100 Subject: added misc:hide_cursor_on_touch --- src/render/Renderer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 669b173f..b1e27092 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1463,11 +1463,14 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR void CHyprRenderer::ensureCursorRenderingMode() { static auto* const PCURSORTIMEOUT = &g_pConfigManager->getConfigValuePtr("general:cursor_inactive_timeout")->intValue; + static auto* const PHIDEONTOUCH = &g_pConfigManager->getConfigValuePtr("misc:hide_cursor_on_touch")->intValue; const auto PASSEDCURSORSECONDS = g_pInputManager->m_tmrLastCursorMovement.getSeconds(); - if (*PCURSORTIMEOUT > 0) { - if (*PCURSORTIMEOUT < PASSEDCURSORSECONDS && m_bHasARenderedCursor) { + if (*PCURSORTIMEOUT > 0 || *PHIDEONTOUCH) { + const bool HIDE = (*PCURSORTIMEOUT > 0 && *PCURSORTIMEOUT < PASSEDCURSORSECONDS) || (g_pInputManager->m_bLastInputTouch && *PHIDEONTOUCH); + + if (HIDE && m_bHasARenderedCursor) { m_bHasARenderedCursor = false; wlr_cursor_set_surface(g_pCompositor->m_sWLRCursor, nullptr, 0, 0); // hide @@ -1476,7 +1479,7 @@ void CHyprRenderer::ensureCursorRenderingMode() { for (auto& m : g_pCompositor->m_vMonitors) g_pHyprRenderer->damageMonitor(m.get()); // TODO: maybe just damage the cursor area? - } else if (*PCURSORTIMEOUT > PASSEDCURSORSECONDS && !m_bHasARenderedCursor) { + } else if (!HIDE && !m_bHasARenderedCursor) { m_bHasARenderedCursor = true; if (!m_bWindowRequestedCursorHide) -- cgit v1.2.3