diff --git a/src/managers/CursorManager.cpp b/src/managers/CursorManager.cpp index 51f012b4..c7e47120 100644 --- a/src/managers/CursorManager.cpp +++ b/src/managers/CursorManager.cpp @@ -116,6 +116,14 @@ void CCursorManager::setCursorFromName(const std::string& name) { m_sCurrentCursorShapeData = m_pHyprcursor->getShape(name.c_str(), m_sCurrentStyleInfo); + if (m_sCurrentCursorShapeData.images.size() < 1) { + // try with '-' first (xcursor, web, etc) + std::string newName = name; + std::replace(newName.begin(), newName.end(), '_', '-'); + + m_sCurrentCursorShapeData = m_pHyprcursor->getShape(newName.c_str(), m_sCurrentStyleInfo); + } + if (m_sCurrentCursorShapeData.images.size() < 1) { // fallback to a default if available constexpr const std::array fallbackShapes = {"default", "left_ptr"};