summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authoroutfoxxed <outfoxxed@outfoxxed.me>2023-09-12 14:37:08 -0700
committerGitHub <noreply@github.com>2023-09-12 22:37:08 +0100
commitb0d5e4008b96f2cdbb6f6c2449c790d921d1546b (patch)
tree4ea707d3f72e379d52a37da2ccaf8a3044784c72 /src/Compositor.cpp
parentbe19773aaa4507fe6246f318b3bb4b969d79dc97 (diff)
layout: Allow the layout to control how windows are raised in groups (#3275)
* Allow the layout to control how windows are raised in groups Previously windows could only be focused if they weren't hidden or were part of a group. This shifts the logic for picking the window out of a group to the layout allowing for alternate group implementations to function normally. * Fix doc comment consistency * Fix tabs in comments
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index e1fb60cb..749c9d27 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -829,10 +829,7 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) {
return;
}
- if (pWindow && pWindow->isHidden() && pWindow->m_sGroupData.pNextWindow) {
- // grouped, change the current to us
- pWindow->setGroupCurrent(pWindow);
- }
+ g_pLayoutManager->getCurrentLayout()->bringWindowToTop(pWindow);
if (!pWindow || !windowValidMapped(pWindow)) {
const auto PLASTWINDOW = m_pLastWindow;
@@ -2171,7 +2168,7 @@ CWindow* CCompositor::getWindowByRegex(const std::string& regexp) {
}
for (auto& w : g_pCompositor->m_vWindows) {
- if (!w->m_bIsMapped || (w->isHidden() && !w->m_sGroupData.pNextWindow))
+ if (!w->m_bIsMapped || (w->isHidden() && !g_pLayoutManager->getCurrentLayout()->isWindowReachable(w.get())))
continue;
switch (mode) {