From 2cf4480969c05153fe9c2f3ca16812d61e14b0c0 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 10 Apr 2022 18:25:45 +0200 Subject: fix fadeout blinking transparent windows --- src/render/OpenGL.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/render/OpenGL.cpp') diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index acc5096f..020f398d 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -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); -- cgit v1.2.3