summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorVirt <41426325+VirtCode@users.noreply.github.com>2025-04-25 16:38:31 +0200
committerGitHub <noreply@github.com>2025-04-25 16:38:31 +0200
commit4cf62c114e8fd2cc4fa47d07459e00c52f6dc1d3 (patch)
treecaf19b6084c2f8b4eb1e9f5c604479c99565de4e /src/Compositor.cpp
parent41f5f67f6c8675ec48d893007ca93f8bf6c0049a (diff)
layerrules: add abovelock to render above lockscreen (#9793)
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index d4e5bc43..a32ba056 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -1286,9 +1286,12 @@ SP<CWLSurfaceResource> CCompositor::vectorToLayerPopupSurface(const Vector2D& po
return nullptr;
}
-SP<CWLSurfaceResource> CCompositor::vectorToLayerSurface(const Vector2D& pos, std::vector<PHLLSREF>* layerSurfaces, Vector2D* sCoords, PHLLS* ppLayerSurfaceFound) {
+SP<CWLSurfaceResource> CCompositor::vectorToLayerSurface(const Vector2D& pos, std::vector<PHLLSREF>* layerSurfaces, Vector2D* sCoords, PHLLS* ppLayerSurfaceFound,
+ bool aboveLockscreen) {
+
for (auto const& ls : *layerSurfaces | std::views::reverse) {
- if (!ls->m_mapped || ls->m_fadingOut || !ls->m_layerSurface || (ls->m_layerSurface && !ls->m_layerSurface->surface->mapped) || ls->m_alpha->value() == 0.f)
+ if (!ls->m_mapped || ls->m_fadingOut || !ls->m_layerSurface || (ls->m_layerSurface && !ls->m_layerSurface->surface->mapped) || ls->m_alpha->value() == 0.f ||
+ (aboveLockscreen && (!ls->m_aboveLockscreen || !ls->m_aboveLockscreenInteractable)))
continue;
auto [surf, local] = ls->m_layerSurface->surface->at(pos - ls->m_geometry.pos(), true);