diff options
Diffstat (limited to 'src/layout/MasterLayout.cpp')
| -rw-r--r-- | src/layout/MasterLayout.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index d2577577..6021fac2 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -542,7 +542,6 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri }; if (message == "swapwithmaster") { - const auto PWINDOW = header.pWindow; if (!isWindowTiled(PWINDOW)) @@ -558,6 +557,16 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri switchToWindow(PWINDOW); return 0; + } else if (message == "focusmaster") { + const auto PWINDOW = header.pWindow; + const auto PMASTER = getMasterNodeOnWorkspace(PWINDOW->m_iWorkspaceID); + + if (!PMASTER || PMASTER->pWindow == PWINDOW) + return 0; + + switchToWindow(PMASTER->pWindow); + + return 0; } else if (message == "cyclenext") { const auto PWINDOW = header.pWindow; |
