summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-06-11 17:52:16 +0200
committerVaxry <vaxry@vaxry.net>2025-06-11 17:52:23 +0200
commit412c7dc7f79cb6b04af41692504e82d4417e6e13 (patch)
tree6515bfadb5fbaae3365a9fc2ffedcab05f8277c3 /src/helpers/Monitor.cpp
parent8329de1ab530782aa3e45228632fce3b46fbf183 (diff)
renderer: fixup some missing fadeout cases with special
fixes some fadeout missing cases: - closing last window - closing above fs - closing in general fixes #10283
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp
index f2dc2e8c..44ac1dcf 100644
--- a/src/helpers/Monitor.cpp
+++ b/src/helpers/Monitor.cpp
@@ -21,6 +21,7 @@
#include "../render/Renderer.hpp"
#include "../managers/EventManager.hpp"
#include "../managers/LayoutManager.hpp"
+#include "../managers/AnimationManager.hpp"
#include "../managers/input/InputManager.hpp"
#include "sync/SyncTimeline.hpp"
#include "time/Time.hpp"
@@ -47,7 +48,8 @@ static int ratHandler(void* data) {
}
CMonitor::CMonitor(SP<Aquamarine::IOutput> output_) : m_state(this), m_output(output_) {
- ;
+ g_pAnimationManager->createAnimation(0.f, m_specialFade, g_pConfigManager->getAnimationPropertyConfig("specialWorkspaceIn"), AVARDAMAGE_NONE);
+ m_specialFade->setUpdateCallback([this](auto) { g_pHyprRenderer->damageMonitor(m_self.lock()); });
}
CMonitor::~CMonitor() {
@@ -1222,6 +1224,9 @@ void CMonitor::setSpecialWorkspace(const PHLWORKSPACE& pWorkspace) {
if (m_activeSpecialWorkspace == pWorkspace)
return;
+ m_specialFade->setConfig(g_pConfigManager->getAnimationPropertyConfig(pWorkspace ? "specialWorkspaceIn" : "specialWorkspaceOut"));
+ *m_specialFade = pWorkspace ? 1.F : 0.F;
+
g_pHyprRenderer->damageMonitor(m_self.lock());
if (!pWorkspace) {