diff options
| author | Felix Dick <felix.dick@web.de> | 2022-09-29 20:41:39 +0200 |
|---|---|---|
| committer | Felix Dick <felix.dick@web.de> | 2022-09-29 20:41:39 +0200 |
| commit | 1424539e4d0a9bdd39f77a963e3589d69a74c446 (patch) | |
| tree | c5605bcfd74bb37c4c009a4ed297ab07c592e474 /src/Compositor.cpp | |
| parent | 425b07d1e511d712d7920aecd6b5624845597242 (diff) | |
| parent | caeb0636fa09d3681ac61cc22d8db5a7ddece242 (diff) | |
Merge branch 'main' into rework_rounding_shader
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index e3392483..c61c2582 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1154,7 +1154,7 @@ void CCompositor::deactivateAllWLRWorkspaces(wlr_ext_workspace_handle_v1* exclud } } -CWindow* CCompositor::getNextWindowOnWorkspace(CWindow* pWindow) { +CWindow* CCompositor::getNextWindowOnWorkspace(CWindow* pWindow, bool focusableOnly) { bool gotToWindow = false; for (auto& w : m_vWindows) { if (w.get() != pWindow && !gotToWindow) @@ -1165,19 +1165,19 @@ CWindow* CCompositor::getNextWindowOnWorkspace(CWindow* pWindow) { continue; } - if (w->m_iWorkspaceID == pWindow->m_iWorkspaceID && w->m_bIsMapped && !w->m_bHidden) + if (w->m_iWorkspaceID == pWindow->m_iWorkspaceID && w->m_bIsMapped && !w->m_bHidden && (!focusableOnly || !w->m_bNoFocus)) return w.get(); } for (auto& w : m_vWindows) { - if (w.get() != pWindow && w->m_iWorkspaceID == pWindow->m_iWorkspaceID && w->m_bIsMapped && !w->m_bHidden) + if (w.get() != pWindow && w->m_iWorkspaceID == pWindow->m_iWorkspaceID && w->m_bIsMapped && !w->m_bHidden && (!focusableOnly || !w->m_bNoFocus)) return w.get(); } return nullptr; } -CWindow* CCompositor::getPrevWindowOnWorkspace(CWindow* pWindow) { +CWindow* CCompositor::getPrevWindowOnWorkspace(CWindow* pWindow, bool focusableOnly) { bool gotToWindow = false; for (auto it = m_vWindows.rbegin(); it != m_vWindows.rend(); it++) { if (it->get() != pWindow && !gotToWindow) @@ -1188,12 +1188,12 @@ CWindow* CCompositor::getPrevWindowOnWorkspace(CWindow* pWindow) { continue; } - if ((*it)->m_iWorkspaceID == pWindow->m_iWorkspaceID && (*it)->m_bIsMapped && !(*it)->m_bHidden) + if ((*it)->m_iWorkspaceID == pWindow->m_iWorkspaceID && (*it)->m_bIsMapped && !(*it)->m_bHidden && (!focusableOnly || !(*it)->m_bNoFocus)) return it->get(); } for (auto it = m_vWindows.rbegin(); it != m_vWindows.rend(); it++) { - if (it->get() != pWindow && (*it)->m_iWorkspaceID == pWindow->m_iWorkspaceID && (*it)->m_bIsMapped && !(*it)->m_bHidden) + if (it->get() != pWindow && (*it)->m_iWorkspaceID == pWindow->m_iWorkspaceID && (*it)->m_bIsMapped && !(*it)->m_bHidden && (!focusableOnly || !(*it)->m_bNoFocus)) return it->get(); } |
