From b6bf4afb4861c7a7b41c6bf53daadf57a708e352 Mon Sep 17 00:00:00 2001 From: MightyPlaza <123664421+MightyPlaza@users.noreply.github.com> Date: Tue, 11 Jun 2024 20:56:35 +0000 Subject: layer: don't close special ws when restoring focus (#6424) modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/managers/input/InputManager.cpp --- src/Compositor.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 8b19f010..7d33889e 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1111,6 +1111,17 @@ bool CCompositor::isWorkspaceVisible(PHLWORKSPACE w) { return valid(w) && w->m_bVisible; } +bool CCompositor::isWorkspaceVisibleNotCovered(PHLWORKSPACE w) { + if (!valid(w)) + return false; + + const auto PMONITOR = getMonitorFromID(w->m_iMonitorID); + if (PMONITOR->activeSpecialWorkspace) + return PMONITOR->activeSpecialWorkspace->m_iID == w->m_iID; + + return PMONITOR->activeWorkspace->m_iID == w->m_iID; +} + PHLWORKSPACE CCompositor::getWorkspaceByID(const int& id) { for (auto& w : m_vWorkspaces) { if (w->m_iID == id && !w->inert()) -- cgit v1.2.3