master: Change center_master_slaves_on_right to center_master_fallback (#10201)

* Change center_master_slaves_on_right  to center_master_fallback
This commit is contained in:
Zetta1 Reid0
2025-05-01 14:29:06 +03:00
committed by GitHub
parent 615e0dae46
commit b5ef049ea1
3 changed files with 17 additions and 13 deletions

View File

@@ -1811,12 +1811,10 @@ inline static const std::vector<SConfigOptionDescription> CONFIG_OPTIONS = {
.type = CONFIG_OPTION_INT, .type = CONFIG_OPTION_INT,
.data = SConfigOptionDescription::SRangeData{2, 0, 10}, //##TODO RANGE? .data = SConfigOptionDescription::SRangeData{2, 0, 10}, //##TODO RANGE?
}, },
SConfigOptionDescription{ SConfigOptionDescription{.value = "master:center_master_fallback",
.value = "master:center_master_slaves_on_right", .description = "Set fallback for center master when slaves are less than slave_count_for_center_master, can be left ,right ,top ,bottom",
.description = "set if the slaves should appear on right of master when slave_count_for_center_master > 2", .type = CONFIG_OPTION_STRING_SHORT,
.type = CONFIG_OPTION_BOOL, .data = SConfigOptionDescription::SStringData{"left"}},
.data = SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{ SConfigOptionDescription{
.value = "master:center_ignores_reserved", .value = "master:center_ignores_reserved",
.description = "centers the master window on monitor ignoring reserved areas", .description = "centers the master window on monitor ignoring reserved areas",

View File

@@ -597,7 +597,7 @@ CConfigManager::CConfigManager() {
registerConfigVar("master:mfact", {0.55f}); registerConfigVar("master:mfact", {0.55f});
registerConfigVar("master:new_status", {"slave"}); registerConfigVar("master:new_status", {"slave"});
registerConfigVar("master:slave_count_for_center_master", Hyprlang::INT{2}); registerConfigVar("master:slave_count_for_center_master", Hyprlang::INT{2});
registerConfigVar("master:center_master_slaves_on_right", Hyprlang::INT{1}); registerConfigVar("master:center_master_fallback", {"left"});
registerConfigVar("master:center_ignores_reserved", Hyprlang::INT{0}); registerConfigVar("master:center_ignores_reserved", Hyprlang::INT{0});
registerConfigVar("master:new_on_active", {"none"}); registerConfigVar("master:new_on_active", {"none"});
registerConfigVar("master:new_on_top", Hyprlang::INT{0}); registerConfigVar("master:new_on_top", Hyprlang::INT{0});

View File

@@ -333,7 +333,7 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
eOrientation orientation = getDynamicOrientation(pWorkspace); eOrientation orientation = getDynamicOrientation(pWorkspace);
bool centerMasterWindow = false; bool centerMasterWindow = false;
static auto SLAVECOUNTFORCENTER = CConfigValue<Hyprlang::INT>("master:slave_count_for_center_master"); 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 PIGNORERESERVED = CConfigValue<Hyprlang::INT>("master:center_ignores_reserved");
static auto PSMARTRESIZING = CConfigValue<Hyprlang::INT>("master:smart_resizing"); static auto PSMARTRESIZING = CConfigValue<Hyprlang::INT>("master:smart_resizing");
@@ -347,10 +347,16 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
if (STACKWINDOWS >= *SLAVECOUNTFORCENTER) { if (STACKWINDOWS >= *SLAVECOUNTFORCENTER) {
centerMasterWindow = true; centerMasterWindow = true;
} else { } else {
if (*CMSLAVESONRIGHT) if (*CMFALLBACK == "left")
orientation = ORIENTATION_LEFT; orientation = ORIENTATION_LEFT;
else else if (*CMFALLBACK == "right")
orientation = ORIENTATION_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 nextY = 0;
float nextYL = 0; float nextYL = 0;
float nextYR = 0; float nextYR = 0;
bool onRight = *CMSLAVESONRIGHT; bool onRight = *CMFALLBACK == "right";
int slavesLeftL = 1 + (slavesLeft - 1) / 2; int slavesLeftL = 1 + (slavesLeft - 1) / 2;
int slavesLeftR = slavesLeft - slavesLeftL; int slavesLeftR = slavesLeft - slavesLeftL;
if (*CMSLAVESONRIGHT) { if (onRight) {
slavesLeftR = 1 + (slavesLeft - 1) / 2; slavesLeftR = 1 + (slavesLeft - 1) / 2;
slavesLeftL = slavesLeft - slavesLeftR; slavesLeftL = slavesLeft - slavesLeftR;
} }
@@ -565,7 +571,7 @@ void CHyprMasterLayout::calculateWorkspace(PHLWORKSPACE pWorkspace) {
onRight = !onRight; onRight = !onRight;
} }
onRight = *CMSLAVESONRIGHT; onRight = *CMFALLBACK == "right";
} }
for (auto& nd : m_masterNodesData) { for (auto& nd : m_masterNodesData) {