From a80f8f257f05480a3a91e9da14715cb160ed2e0a Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Fri, 24 Mar 2023 19:23:16 +0000 Subject: Feat: Introduce render_ahead_of_time (#1863) --- src/helpers/Monitor.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/helpers/Monitor.cpp') diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 6ad60dfa..d8bae3a8 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -2,6 +2,12 @@ #include "../Compositor.hpp" +int ratHandler(void* data) { + g_pHyprRenderer->renderMonitor((CMonitor*)data); + + return 1; +} + void CMonitor::onConnect(bool noRule) { hyprListener_monitorDestroy.removeCallback(); hyprListener_monitorFrame.removeCallback(); @@ -156,10 +162,17 @@ void CMonitor::onConnect(bool noRule) { if (!found) g_pCompositor->setActiveMonitor(this); + + renderTimer = wl_event_loop_add_timer(g_pCompositor->m_sWLEventLoop, ratHandler, this); } void CMonitor::onDisconnect() { + if (renderTimer) { + wl_event_source_remove(renderTimer); + renderTimer = nullptr; + } + if (!m_bEnabled || g_pCompositor->m_bIsShuttingDown) return; -- cgit v1.2.3