#pragma once #include "../helpers/memory/Memory.hpp" #include #include #include #include class CConfigWatcher { public: CConfigWatcher(); ~CConfigWatcher() = default; struct SConfigWatchEvent { std::string file; }; Hyprutils::OS::CFileDescriptor& getInotifyFD(); void setWatchList(const std::vector& paths); void setOnChange(const std::function& fn); void onInotifyEvent(); private: struct SInotifyWatch { int wd = -1; std::string file; }; std::function m_watchCallback; std::vector m_watches; Hyprutils::OS::CFileDescriptor m_inotifyFd; }; inline UP g_pConfigWatcher = makeUnique();