summaryrefslogtreecommitdiff
path: root/src/layout/MasterLayout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/MasterLayout.cpp')
-rw-r--r--src/layout/MasterLayout.cpp11
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;