From 3dd8db83f166733d1dd6a753bd6eb07727320768 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 26 Oct 2024 02:12:43 +0100 Subject: pointer: add default auto for no_hw_cursors auto defaults to off on nvidia, on for everyone else. Gotta wait until we do fucking drm_dumb and it fucking works --- src/managers/PointerManager.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/managers/PointerManager.cpp') diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index 0d6e0206..d2114e79 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -247,9 +247,7 @@ void CPointerManager::resetCursorImage(bool apply) { } void CPointerManager::updateCursorBackend() { - static auto PNOHW = CConfigValue("cursor:no_hardware_cursors"); - - const auto CURSORBOX = getCursorBoxGlobal(); + const auto CURSORBOX = getCursorBoxGlobal(); for (auto const& m : g_pCompositor->m_vMonitors) { auto state = stateFor(m); @@ -268,7 +266,7 @@ void CPointerManager::updateCursorBackend() { continue; } - if (state->softwareLocks > 0 || *PNOHW || !attemptHardwareCursor(state)) { + if (state->softwareLocks > 0 || g_pConfigManager->shouldUseSoftwareCursors() || !attemptHardwareCursor(state)) { Debug::log(TRACE, "Output {} rejected hardware cursors, falling back to sw", m->szName); state->box = getCursorBoxLogicalForMonitor(state->monitor.lock()); state->hardwareFailed = true; @@ -641,15 +639,13 @@ Vector2D CPointerManager::closestValid(const Vector2D& pos) { } void CPointerManager::damageIfSoftware() { - auto b = getCursorBoxGlobal().expand(4); - - static auto PNOHW = CConfigValue("cursor:no_hardware_cursors"); + auto b = getCursorBoxGlobal().expand(4); for (auto const& mw : monitorStates) { if (mw->monitor.expired() || !mw->monitor->output) continue; - if ((mw->softwareLocks > 0 || mw->hardwareFailed || *PNOHW) && b.overlaps({mw->monitor->vecPosition, mw->monitor->vecSize})) { + if ((mw->softwareLocks > 0 || mw->hardwareFailed || g_pConfigManager->shouldUseSoftwareCursors()) && b.overlaps({mw->monitor->vecPosition, mw->monitor->vecSize})) { g_pHyprRenderer->damageBox(&b, mw->monitor->shouldSkipScheduleFrameOnMouseEvent()); break; } -- cgit v1.2.3