fix fadeout blinking transparent windows

This commit is contained in:
vaxerski
2022-04-10 18:25:45 +02:00
parent 71916ee09a
commit 2cf4480969
3 changed files with 25 additions and 0 deletions

View File

@@ -481,8 +481,18 @@ void CHyprOpenGLImpl::makeWindowSnapshot(CWindow* pWindow) {
timespec now;
clock_gettime(CLOCK_MONOTONIC, &now);
// this is a hack but it works :P
// we need to disable blur or else we will get a black background, as the shader
// will try to copy the bg to apply blur.
// this isn't entirely correct, but like, oh well.
// small todo: maybe make this correct? :P
const auto BLURVAL = g_pConfigManager->getInt("decoration:blur");
g_pConfigManager->setInt("decoration:blur", 0);
g_pHyprRenderer->renderWindow(pWindow, PMONITOR, &now, !pWindow->m_bX11DoesntWantBorders);
g_pConfigManager->setInt("decoration:blur", BLURVAL);
// restore original fb
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_iCurrentOutputFb);
glViewport(0, 0, g_pHyprOpenGL->m_RenderData.pMonitor->vecSize.x, g_pHyprOpenGL->m_RenderData.pMonitor->vecSize.y);