diff options
| author | xDarksome <dev@darkso.me> | 2022-08-18 22:24:00 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-18 22:24:00 +0300 |
| commit | 4af95d42537e32805e4f679715dc3e763c15e328 (patch) | |
| tree | cb604942fb011c9a5755a8a3a2fb625bac08bdab /src/render/Renderer.cpp | |
| parent | 844c33c9801177adf65ea7ed163a8a6df36a9a37 (diff) | |
| parent | ece3ac97f932b1f39314cf63ec8e9abb5172104e (diff) | |
Merge branch 'hyprwm:main' into main
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index cc21c1bb..71440dc7 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -79,16 +79,22 @@ bool CHyprRenderer::shouldRenderWindow(CWindow* pWindow, CMonitor* pMonitor) { const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(pWindow->m_iWorkspaceID); if (PWORKSPACE && PWORKSPACE->m_iMonitorID == pMonitor->ID) { - if (!(!PWORKSPACE->m_bHasFullscreenWindow || pWindow->m_bIsFullscreen || (pWindow->m_bIsFloating && pWindow->m_bCreatedOverFullscreen))) - return false; + if (PWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWORKSPACE->m_fAlpha.isBeingAnimated()) { + return true; + } else { + if (!(!PWORKSPACE->m_bHasFullscreenWindow || pWindow->m_bIsFullscreen || (pWindow->m_bIsFloating && pWindow->m_bCreatedOverFullscreen))) + return false; + } } if (pWindow->m_iWorkspaceID == pMonitor->activeWorkspace) return true; - // if not, check if it maybe is active on a different monitor. vvv might be animation in progress - if (g_pCompositor->isWorkspaceVisible(pWindow->m_iWorkspaceID) || (PWORKSPACE && PWORKSPACE->m_iMonitorID == pMonitor->ID && PWORKSPACE->m_bForceRendering) || (PWORKSPACE && PWORKSPACE->m_iMonitorID == pMonitor->ID && (PWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWORKSPACE->m_fAlpha.isBeingAnimated()))) - return true; + // if not, check if it maybe is active on a different monitor. + if (g_pCompositor->isWorkspaceVisible(pWindow->m_iWorkspaceID) || + (PWORKSPACE && PWORKSPACE->m_iMonitorID == pMonitor->ID && PWORKSPACE->m_bForceRendering) || // vvvv might be in animation progress vvvvv + (PWORKSPACE && PWORKSPACE->m_iMonitorID == pMonitor->ID && (PWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWORKSPACE->m_fAlpha.isBeingAnimated()))) + return !pWindow->m_bIsFullscreen; // Do not draw fullscreen windows on other monitors if (pMonitor->specialWorkspaceOpen && pWindow->m_iWorkspaceID == SPECIAL_WORKSPACE_ID) return true; |
