summaryrefslogtreecommitdiff
path: root/src/layout/MasterLayout.cpp
diff options
context:
space:
mode:
authorZetta1 Reid0 <79805086+Zetta1Reid0@users.noreply.github.com>2025-05-01 14:29:06 +0300
committerGitHub <noreply@github.com>2025-05-01 13:29:06 +0200
commitb5ef049ea153e476057987ef11ccbdbbfb655c15 (patch)
treea9e1b3c11baa5870b88fd9ea48bafb0d20625cef /src/layout/MasterLayout.cpp
parent615e0dae46211ea0a7f35193321d65b348c04aa7 (diff)
master: Change center_master_slaves_on_right to center_master_fallback (#10201)
* Change center_master_slaves_on_right to center_master_fallback
Diffstat (limited to 'src/layout/MasterLayout.cpp')
-rw-r--r--src/layout/MasterLayout.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp
index e50b926e..d2aa7568 100644
--- a/src/layout/MasterLayout.cpp
+++ b/src/layout/MasterLayout.cpp
@@ -333,7 +333,7 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
eOrientation orientation = getDynamicOrientation(pWorkspace);
bool centerMasterWindow = false;
static auto SLAVECOUNTFORCENTER = CConfigValue<Hyprlang::INT>("master:slave_count_for_center_master");
- static auto CMSLAVESONRIGHT = CConfigValue<Hyprlang::INT>("master:center_master_slaves_on_right");
+ static auto CMFALLBACK = CConfigValue<std::string>("master:center_master_fallback");
static auto PIGNORERESERVED = CConfigValue<Hyprlang::INT>("master:center_ignores_reserved");
static auto PSMARTRESIZING = CConfigValue<Hyprlang::INT>("master:smart_resizing");
@@ -347,10 +347,16 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
if (STACKWINDOWS >= *SLAVECOUNTFORCENTER) {
centerMasterWindow = true;
} else {
- if (*CMSLAVESONRIGHT)
+ if (*CMFALLBACK == "left")
orientation = ORIENTATION_LEFT;
- else
+ else if (*CMFALLBACK == "right")
orientation = ORIENTATION_RIGHT;
+ else if (*CMFALLBACK == "top")
+ orientation = ORIENTATION_TOP;
+ else if (*CMFALLBACK == "bottom")
+ orientation = ORIENTATION_BOTTOM;
+ else
+ orientation = ORIENTATION_LEFT;
}
}
@@ -538,11 +544,11 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
float nextY = 0;
float nextYL = 0;
float nextYR = 0;
- bool onRight = *CMSLAVESONRIGHT;
+ bool onRight = *CMFALLBACK == "right";
int slavesLeftL = 1 + (slavesLeft - 1) / 2;
int slavesLeftR = slavesLeft - slavesLeftL;
- if (*CMSLAVESONRIGHT) {
+ if (onRight) {
slavesLeftR = 1 + (slavesLeft - 1) / 2;
slavesLeftL = slavesLeft - slavesLeftR;
}
@@ -565,7 +571,7 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
onRight = !onRight;
}
- onRight = *CMSLAVESONRIGHT;
+ onRight = *CMFALLBACK == "right";
}
for (auto& nd : m_masterNodesData) {