From 0b215c5f246d3fde6c023e78b3e3579f7498c172 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 4 May 2024 23:46:10 +0100 Subject: idle-inhibit: fix and cleanup visibility logic fixes #5878 --- src/desktop/Subsurface.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/desktop/Subsurface.cpp') diff --git a/src/desktop/Subsurface.cpp b/src/desktop/Subsurface.cpp index b2c9f8bd..1809efe5 100644 --- a/src/desktop/Subsurface.cpp +++ b/src/desktop/Subsurface.cpp @@ -227,3 +227,14 @@ void CSubsurface::initExistingSubsurfaces(wlr_surface* pSurface) { Vector2D CSubsurface::size() { return {m_sWLSurface.wlr()->current.width, m_sWLSurface.wlr()->current.height}; } + +bool CSubsurface::visible() { + if (!m_pWindowParent.expired()) + return g_pHyprRenderer->shouldRenderWindow(m_pWindowParent.lock()); + if (m_pPopupParent) + return m_pPopupParent->visible(); + if (m_pParent) + return m_pParent->visible(); + + return false; +} -- cgit v1.2.3