mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-07-26 09:41:57 -07:00
toplevel: patches group toplevel-activated (#2931)
* patches group toplevel-activated modified: src/Compositor.cpp modified: src/Window.cpp * remove redundant call modified: src/Compositor.cpp * fix style modified: src/Compositor.cpp
This commit is contained in:
@@ -924,6 +924,16 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) {
|
||||
|
||||
g_pLayoutManager->getCurrentLayout()->onWindowFocusChange(pWindow);
|
||||
|
||||
// TODO: implement this better
|
||||
if (!PLASTWINDOW && pWindow->m_sGroupData.pNextWindow && pWindow->m_sGroupData.pNextWindow != pWindow) {
|
||||
auto curr = pWindow;
|
||||
do {
|
||||
curr = curr->m_sGroupData.pNextWindow;
|
||||
if (curr->m_phForeignToplevel)
|
||||
wlr_foreign_toplevel_handle_v1_set_activated(curr->m_phForeignToplevel, false);
|
||||
} while (curr->m_sGroupData.pNextWindow != pWindow);
|
||||
}
|
||||
|
||||
if (pWindow->m_phForeignToplevel)
|
||||
wlr_foreign_toplevel_handle_v1_set_activated(pWindow->m_phForeignToplevel, true);
|
||||
|
||||
|
@@ -687,7 +687,7 @@ void CWindow::setGroupCurrent(CWindow* pWindow) {
|
||||
g_pCompositor->setWindowFullscreen(PCURRENT, false, WORKSPACE->m_efFullscreenMode);
|
||||
|
||||
PCURRENT->setHidden(true);
|
||||
pWindow->setHidden(false);
|
||||
pWindow->setHidden(false); // can remove m_pLastWindow
|
||||
|
||||
g_pLayoutManager->getCurrentLayout()->replaceWindowDataWith(PCURRENT, pWindow);
|
||||
|
||||
|
Reference in New Issue
Block a user