summaryrefslogtreecommitdiff
path: root/src/managers/LayoutManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-16 15:57:31 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-16 15:57:31 +0200
commit5c836e6460ae5e8c290cfff61ec0d2d0e99dfa15 (patch)
treebb38dedd586738f0a1fe37b9a4234b754f54541d /src/managers/LayoutManager.cpp
parent48e5bd96bc71f94f774eb92b00ef560b2f911c73 (diff)
added master layout
Diffstat (limited to 'src/managers/LayoutManager.cpp')
-rw-r--r--src/managers/LayoutManager.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/managers/LayoutManager.cpp b/src/managers/LayoutManager.cpp
index ec723350..8e7e397b 100644
--- a/src/managers/LayoutManager.cpp
+++ b/src/managers/LayoutManager.cpp
@@ -4,8 +4,28 @@ IHyprLayout* CLayoutManager::getCurrentLayout() {
switch (m_iCurrentLayoutID) {
case DWINDLE:
return &m_cDwindleLayout;
+ case MASTER:
+ return &m_cMasterLayout;
}
// fallback
return &m_cDwindleLayout;
+}
+
+void CLayoutManager::switchToLayout(std::string layout) {
+ if (layout == "dwindle") {
+ if (m_iCurrentLayoutID != DWINDLE) {
+ getCurrentLayout()->onDisable();
+ m_iCurrentLayoutID = DWINDLE;
+ getCurrentLayout()->onEnable();
+ }
+ } else if (layout == "master") {
+ if (m_iCurrentLayoutID != MASTER) {
+ getCurrentLayout()->onDisable();
+ m_iCurrentLayoutID = MASTER;
+ getCurrentLayout()->onEnable();
+ }
+ } else {
+ Debug::log(ERR, "Unknown layout %s!", layout.c_str());
+ }
} \ No newline at end of file