mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 14:05:58 +01:00
renderer: Fix rendering when swiping workspaces (#5367)
* fix rendering on swiping * add alpha check * fix floating fs check
This commit is contained in:
parent
416b3d6167
commit
800dbf71b0
1 changed files with 9 additions and 6 deletions
|
@ -225,13 +225,16 @@ bool CHyprRenderer::shouldRenderWindow(CWindow* pWindow, CMonitor* pMonitor) {
|
||||||
|
|
||||||
const auto PWINDOWWORKSPACE = g_pCompositor->getWorkspaceByID(pWindow->m_iWorkspaceID);
|
const auto PWINDOWWORKSPACE = g_pCompositor->getWorkspaceByID(pWindow->m_iWorkspaceID);
|
||||||
if (PWINDOWWORKSPACE && PWINDOWWORKSPACE->m_iMonitorID == pMonitor->ID) {
|
if (PWINDOWWORKSPACE && PWINDOWWORKSPACE->m_iMonitorID == pMonitor->ID) {
|
||||||
if (PWINDOWWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWINDOWWORKSPACE->m_fAlpha.isBeingAnimated() || PWINDOWWORKSPACE->m_bForceRendering) {
|
if (PWINDOWWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWINDOWWORKSPACE->m_fAlpha.isBeingAnimated() || PWINDOWWORKSPACE->m_bForceRendering)
|
||||||
return true;
|
return true;
|
||||||
} else {
|
|
||||||
if (PWINDOWWORKSPACE->m_bHasFullscreenWindow && !pWindow->m_bIsFullscreen && !pWindow->m_bIsFloating && !pWindow->m_bCreatedOverFullscreen &&
|
// if hidden behind fullscreen
|
||||||
|
if (PWINDOWWORKSPACE->m_bHasFullscreenWindow && !pWindow->m_bIsFullscreen && (!pWindow->m_bIsFloating || !pWindow->m_bCreatedOverFullscreen) &&
|
||||||
pWindow->m_fAlpha.value() == 0)
|
pWindow->m_fAlpha.value() == 0)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
if (!PWINDOWWORKSPACE->m_vRenderOffset.isBeingAnimated() && !PWINDOWWORKSPACE->m_fAlpha.isBeingAnimated() && !g_pCompositor->isWorkspaceVisible(pWindow->m_iWorkspaceID))
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pWindow->m_iMonitorID == pMonitor->ID)
|
if (pWindow->m_iMonitorID == pMonitor->ID)
|
||||||
|
|
Loading…
Reference in a new issue