From d3cbec2d1a2aa7854fe0f05c06f6bd6d8388838e Mon Sep 17 00:00:00 2001 From: Jeremy Huang <66577496+thejch@users.noreply.github.com> Date: Fri, 15 Sep 2023 04:03:05 -0700 Subject: [PATCH] master: Add mfact dispatcher (#3298) * add mfact dispatcher * limit mfact to between 0.05 and 0.95 * add try catch block for stof * change log to err --- src/layout/MasterLayout.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index 0fec8efd7..a4ab9d8a2 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -1227,6 +1227,20 @@ std::any CHyprMasterLayout::layoutMessage(SLayoutMessageHeader header, std::stri runOrientationCycle(header, nullptr, -1); } else if (command == "orientationcycle") { runOrientationCycle(header, &vars, 1); + } else if (command == "mfact") { + if (vars.size() >= 2) { + float newMfact = 0; + try { + newMfact = std::stof(vars[1]); + } catch (std::exception& e) { + Debug::log(ERR, "Argument is invalid: {}", e.what()); + return 0; + } + for (auto& nd : m_lMasterNodesData) { + if (nd.isMaster) + nd.percMaster = std::clamp(newMfact, 0.05f, 0.95f); + } + } } return 0;