summaryrefslogtreecommitdiff
path: root/src/managers/ThreadManager.cpp
diff options
context:
space:
mode:
authorDarksome <dev@darkso.me>2022-07-21 19:18:03 +0300
committerDarksome <dev@darkso.me>2022-07-21 19:18:03 +0300
commiteb8a1939e6dddaaf81f6b623d1c657b801978487 (patch)
treed62d4ca30d4114fe2e2745e36907b65ac4be20af /src/managers/ThreadManager.cpp
parent68cfc1a496f556f360c032651b75d33ddb576517 (diff)
parent7f660fed0d4a8133ccde21c3e092dbc8c6e08c60 (diff)
Merge upstream
Diffstat (limited to 'src/managers/ThreadManager.cpp')
-rw-r--r--src/managers/ThreadManager.cpp35
1 files changed, 15 insertions, 20 deletions
diff --git a/src/managers/ThreadManager.cpp b/src/managers/ThreadManager.cpp
index fa3d0d4e..3ca4d550 100644
--- a/src/managers/ThreadManager.cpp
+++ b/src/managers/ThreadManager.cpp
@@ -1,34 +1,29 @@
#include "ThreadManager.hpp"
#include "../debug/HyprCtl.hpp"
+#include "../Compositor.hpp"
-CThreadManager::CThreadManager() {
- m_tMainThread = new std::thread([&]() {
- // Call the handle method.
- this->handle();
- });
+int slowUpdate = 0;
- m_tMainThread->detach(); // detach and continue.
-}
+int handleTimer(void* data) {
+ const auto PTM = (CThreadManager*)data;
-CThreadManager::~CThreadManager() {
- //
-}
+ g_pConfigManager->tick();
-int slowUpdate = 0;
+ wl_event_source_timer_update(PTM->m_esConfigTimer, 1000);
-void CThreadManager::handle() {
+ return 0;
+}
+CThreadManager::CThreadManager() {
g_pConfigManager->init();
HyprCtl::startHyprCtlSocket();
- while (3.1415f) {
- slowUpdate++;
- if (slowUpdate >= g_pConfigManager->getInt("general:max_fps")){
- g_pConfigManager->tick();
- slowUpdate = 0;
- }
+ m_esConfigTimer = wl_event_loop_add_timer(g_pCompositor->m_sWLEventLoop, handleTimer, this);
+
+ wl_event_source_timer_update(m_esConfigTimer, 1000);
+}
- std::this_thread::sleep_for(std::chrono::microseconds(1000000 / g_pConfigManager->getInt("general:max_fps")));
- }
+CThreadManager::~CThreadManager() {
+ //
} \ No newline at end of file