summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-01-26 10:39:06 +0000
committervaxerski <vaxry@vaxry.net>2023-01-26 10:39:06 +0000
commit06b17db22776e613a714e7e936618c16c3f47eaa (patch)
treeeb1dd3e80c1e03fccf102ebcd5f9202152b6a029 /src
parentfc89e70a1fb74429ad0f772d399325f69e65b357 (diff)
don't set cursor when timeout reached
Diffstat (limited to 'src')
-rw-r--r--src/managers/input/InputManager.cpp12
-rw-r--r--src/render/Renderer.hpp8
2 files changed, 11 insertions, 9 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index 685cf26a..2b685b9a 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -225,11 +225,13 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
if (!foundSurface) {
if (!m_bEmptyFocusCursorSet) {
- // TODO: maybe wrap?
- if (m_ecbClickBehavior == CLICKMODE_KILL)
- wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor);
- else
- wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
+ if (g_pHyprRenderer->m_bHasARenderedCursor) {
+ // TODO: maybe wrap?
+ if (m_ecbClickBehavior == CLICKMODE_KILL)
+ wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "crosshair", g_pCompositor->m_sWLRCursor);
+ else
+ wlr_xcursor_manager_set_cursor_image(g_pCompositor->m_sWLRXCursorMgr, "left_ptr", g_pCompositor->m_sWLRCursor);
+ }
m_bEmptyFocusCursorSet = true;
}
diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp
index cf42b9fe..2f34ef5d 100644
--- a/src/render/Renderer.hpp
+++ b/src/render/Renderer.hpp
@@ -10,22 +10,21 @@
struct SMonitorRule;
// TODO: add fuller damage tracking for updating only parts of a window
-enum DAMAGETRACKINGMODES
-{
+enum DAMAGETRACKINGMODES {
DAMAGE_TRACKING_INVALID = -1,
DAMAGE_TRACKING_NONE = 0,
DAMAGE_TRACKING_MONITOR,
DAMAGE_TRACKING_FULL
};
-enum eRenderPassMode
-{
+enum eRenderPassMode {
RENDER_PASS_ALL = 0,
RENDER_PASS_MAIN,
RENDER_PASS_POPUP
};
class CToplevelExportProtocolManager;
+class CInputManager;
class CHyprRenderer {
public:
@@ -69,6 +68,7 @@ class CHyprRenderer {
friend class CHyprOpenGLImpl;
friend class CToplevelExportProtocolManager;
+ friend class CInputManager;
};
inline std::unique_ptr<CHyprRenderer> g_pHyprRenderer;