summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index d9e3ebf2..2f1746c9 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -649,4 +649,27 @@ void CCompositor::deactivateAllWLRWorkspaces() {
if (w.m_pWlrHandle)
wlr_ext_workspace_handle_v1_set_active(w.m_pWlrHandle, false);
}
+}
+
+CWindow* CCompositor::getNextWindowOnWorkspace(CWindow* pWindow) {
+ bool gotToWindow = false;
+ for (auto& w : m_lWindows) {
+ if (&w != pWindow && !gotToWindow)
+ continue;
+
+ if (&w == pWindow) {
+ gotToWindow = true;
+ continue;
+ }
+
+ if (w.m_iWorkspaceID == pWindow->m_iWorkspaceID && windowValidMapped(&w))
+ return &w;
+ }
+
+ for (auto& w : m_lWindows) {
+ if (&w != pWindow && w.m_iWorkspaceID == pWindow->m_iWorkspaceID && windowValidMapped(&w))
+ return &w;
+ }
+
+ return nullptr;
} \ No newline at end of file