diff --git a/src/core/hyprlock.cpp b/src/core/hyprlock.cpp index 0bd304f..cd27e9e 100644 --- a/src/core/hyprlock.cpp +++ b/src/core/hyprlock.cpp @@ -316,6 +316,7 @@ void CHyprlock::run() { g_pRenderer.reset(); g_pEGL = makeUnique(m_sWaylandState.display); g_pRenderer = makeUnique(); + g_pRenderer->warpOpacity(1.0); } }); diff --git a/src/renderer/Renderer.cpp b/src/renderer/Renderer.cpp index 20101c9..3681002 100644 --- a/src/renderer/Renderer.cpp +++ b/src/renderer/Renderer.cpp @@ -617,3 +617,7 @@ void CRenderer::startFadeOut(bool unlock) { if (unlock) opacity->setCallbackOnEnd([](auto) { g_pHyprlock->releaseSessionLock(); }, true); } + +void CRenderer::warpOpacity(float newOpacity) { + opacity->setValueAndWarp(newOpacity); +} diff --git a/src/renderer/Renderer.hpp b/src/renderer/Renderer.hpp index ad5d676..1f68179 100644 --- a/src/renderer/Renderer.hpp +++ b/src/renderer/Renderer.hpp @@ -47,6 +47,7 @@ class CRenderer { void startFadeIn(); void startFadeOut(bool unlock = false); + void warpOpacity(float warpOpacity); std::vector>& getOrCreateWidgetsFor(const CSessionLockSurface& surf); private: