mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-08 08:01:57 -07:00
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
This commit is contained in:
@@ -535,12 +535,22 @@ CWindow* IHyprLayout::getNextWindowCandidate(CWindow* pWindow) {
|
||||
return PWINDOWCANDIDATE;
|
||||
}
|
||||
|
||||
void IHyprLayout::requestFocusForWindow(CWindow* pWindow) {
|
||||
bool IHyprLayout::isWindowReachable(CWindow* pWindow) {
|
||||
return pWindow && (!pWindow->isHidden() || pWindow->m_sGroupData.pNextWindow);
|
||||
}
|
||||
|
||||
void IHyprLayout::bringWindowToTop(CWindow* pWindow) {
|
||||
if (pWindow == nullptr)
|
||||
return;
|
||||
|
||||
if (pWindow->isHidden() && pWindow->m_sGroupData.pNextWindow) {
|
||||
// grouped, change the current to this window
|
||||
pWindow->setGroupCurrent(pWindow);
|
||||
}
|
||||
}
|
||||
|
||||
void IHyprLayout::requestFocusForWindow(CWindow* pWindow) {
|
||||
bringWindowToTop(pWindow);
|
||||
g_pCompositor->focusWindow(pWindow);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user