summaryrefslogtreecommitdiff
path: root/src/desktop/Workspace.cpp
diff options
context:
space:
mode:
authorthejch <66577496+thejch@users.noreply.github.com>2024-03-30 18:14:26 -0700
committerGitHub <noreply@github.com>2024-03-31 02:14:26 +0100
commit16a9c16d9f99bd8be9f1bb15442b001fdf2ea759 (patch)
treef9cb60dc2d92519079699e9cb6e71e562b55a8a5 /src/desktop/Workspace.cpp
parent1cc9a44318e53a34f41cc36483502de985b88cf8 (diff)
renderer/animations: Fix various inaccurate damage tracking issues and offsets (#5297)
Diffstat (limited to 'src/desktop/Workspace.cpp')
-rw-r--r--src/desktop/Workspace.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/desktop/Workspace.cpp b/src/desktop/Workspace.cpp
index 05843b59..a0c14bba 100644
--- a/src/desktop/Workspace.cpp
+++ b/src/desktop/Workspace.cpp
@@ -49,6 +49,16 @@ void CWorkspace::startAnim(bool in, bool left, bool instant) {
const auto ANIMSTYLE = m_fAlpha.m_pConfig->pValues->internalStyle;
static auto PWORKSPACEGAP = CConfigValue<Hyprlang::INT>("general:gaps_workspaces");
+ // set floating windows offset callbacks
+ m_vRenderOffset.setUpdateCallback([&](void*) {
+ for (auto& w : g_pCompositor->m_vWindows) {
+ if (!g_pCompositor->windowValidMapped(w.get()) || w->m_iWorkspaceID != m_iID)
+ continue;
+
+ w->onWorkspaceAnimUpdate();
+ };
+ });
+
if (ANIMSTYLE.starts_with("slidefade")) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID);
float movePerc = 100.f;