summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorxDarksome <dev@darkso.me>2022-08-18 22:24:00 +0300
committerGitHub <noreply@github.com>2022-08-18 22:24:00 +0300
commit4af95d42537e32805e4f679715dc3e763c15e328 (patch)
treecb604942fb011c9a5755a8a3a2fb625bac08bdab /src/render/Renderer.cpp
parent844c33c9801177adf65ea7ed163a8a6df36a9a37 (diff)
parentece3ac97f932b1f39314cf63ec8e9abb5172104e (diff)
Merge branch 'hyprwm:main' into main
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp16
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;