From d9fe1d0f58bcafd22ee23097de41e7039a36afe2 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sun, 21 Apr 2024 16:29:30 +0100 Subject: idle-inhibit: move to new impl --- src/managers/input/InputManager.hpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/managers/input/InputManager.hpp') diff --git a/src/managers/input/InputManager.hpp b/src/managers/input/InputManager.hpp index dd8f5c63..47773fff 100644 --- a/src/managers/input/InputManager.hpp +++ b/src/managers/input/InputManager.hpp @@ -2,6 +2,7 @@ #include "../../defines.hpp" #include +#include #include "../../helpers/WLClasses.hpp" #include "../../helpers/Timer.hpp" #include "InputMethodRelay.hpp" @@ -9,6 +10,7 @@ class CConstraint; class CWindow; +class CIdleInhibitor; enum eClickBehaviorMode { CLICKMODE_DEFAULT = 0, @@ -132,9 +134,6 @@ class CInputManager { std::list m_lTabletTools; std::list m_lTabletPads; - // idle inhibitors - std::list m_lIdleInhibitors; - // Touch devices std::list m_lTouchDevices; @@ -150,7 +149,7 @@ class CInputManager { void newTabletTool(wlr_input_device*); void newTabletPad(wlr_input_device*); void focusTablet(STablet*, wlr_tablet_tool*, bool motion = false); - void newIdleInhibitor(wlr_idle_inhibitor_v1*); + void newIdleInhibitor(std::any); void recheckIdleInhibitorStatus(); void onSwipeBegin(wlr_pointer_swipe_begin_event*); @@ -201,6 +200,7 @@ class CInputManager { // Listeners struct { CHyprSignalListener setCursorShape; + CHyprSignalListener newIdleInhibitor; } m_sListeners; bool m_bCursorImageOverridden = false; @@ -237,6 +237,14 @@ class CInputManager { // for releasing mouse buttons std::list m_lCurrentlyHeldButtons; + // idle inhibitors + struct SIdleInhibitor { + std::shared_ptr inhibitor; + CWindow* pWindow = nullptr; + CHyprSignalListener windowDestroyListener; + }; + std::vector> m_vIdleInhibitors; + // swipe void beginWorkspaceSwipe(); void updateWorkspaceSwipe(double); -- cgit v1.2.3