renderer: don't render decorations on renderdata.decorate false

fixes #4117
This commit is contained in:
Vaxry 2023-12-11 16:32:00 +00:00
parent 50648e6bae
commit 0fdf909b19

View file

@ -479,7 +479,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
} }
} }
if (!pWindow->m_bIsFullscreen || PWORKSPACE->m_efFullscreenMode != FULLSCREEN_FULL) { if (decorate) {
for (auto& wd : pWindow->m_dWindowDecorations) { for (auto& wd : pWindow->m_dWindowDecorations) {
if (wd->getDecorationLayer() != DECORATION_LAYER_BOTTOM) if (wd->getDecorationLayer() != DECORATION_LAYER_BOTTOM)
continue; continue;
@ -511,12 +511,14 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false; g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false;
if (decorate) {
for (auto& wd : pWindow->m_dWindowDecorations) { for (auto& wd : pWindow->m_dWindowDecorations) {
if (wd->getDecorationLayer() != DECORATION_LAYER_OVER) if (wd->getDecorationLayer() != DECORATION_LAYER_OVER)
continue; continue;
wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS);
} }
}
if (TRANSFORMERSPRESENT) { if (TRANSFORMERSPRESENT) {
@ -553,6 +555,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false; g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false;
} }
if (decorate) {
for (auto& wd : pWindow->m_dWindowDecorations) { for (auto& wd : pWindow->m_dWindowDecorations) {
if (wd->getDecorationLayer() != DECORATION_LAYER_OVERLAY) if (wd->getDecorationLayer() != DECORATION_LAYER_OVERLAY)
continue; continue;
@ -560,6 +563,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS);
} }
} }
}
EMIT_HOOK_EVENT("render", RENDER_POST_WINDOW); EMIT_HOOK_EVENT("render", RENDER_POST_WINDOW);