diff options
| author | zakk4223 <zakk@rsdio.com> | 2023-11-21 13:43:38 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-21 18:43:38 +0000 |
| commit | 472926528428cd714c90f157e639fc0466611c8b (patch) | |
| tree | accba2f9d174c151cc102e9a8e30c991fb250461 /src/debug | |
| parent | 572fd554b8e86b3b3533f05631348c3374815ab5 (diff) | |
hyprctl: Add 'layouts' command (#3895)
* Add hyprctl 'layouts' command
formatting
* Add getAllLayoutNames(), move m_vLayouts back to private
Formatting
* clang-format
Diffstat (limited to 'src/debug')
| -rw-r--r-- | src/debug/HyprCtl.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index 1b1e53c3..9745a0fe 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -260,7 +260,7 @@ static std::string getWorkspaceRuleData(const SWorkspaceRule& r, HyprCtl::eHyprC std::string result = std::format(R"#({{ "workspaceString": "{}"{}{}{}{}{}{}{}{} }})#", - escapeJSONStrings(r.workspaceString), monitor, default_, persistent, gapsIn, gapsOut, borderSize, border, rounding, decorate, shadow); + escapeJSONStrings(r.workspaceString), monitor, default_, persistent, gapsIn, gapsOut, borderSize, border, rounding, decorate, shadow); return result; } else { @@ -276,7 +276,7 @@ static std::string getWorkspaceRuleData(const SWorkspaceRule& r, HyprCtl::eHyprC const std::string shadow = std::format("\tshadow: {}\n", (bool)(r.shadow) ? boolToString(r.shadow.value()) : "<unset>"); std::string result = std::format("Workspace rule {}:\n{}{}{}{}{}{}{}{}{}{}\n", escapeJSONStrings(r.workspaceString), monitor, default_, persistent, gapsIn, gapsOut, - borderSize, border, rounding, decorate, shadow); + borderSize, border, rounding, decorate, shadow); return result; } @@ -423,6 +423,28 @@ std::string layersRequest(HyprCtl::eHyprCtlOutputFormat format) { return result; } +std::string layoutsRequest(HyprCtl::eHyprCtlOutputFormat format) { + std::string result = ""; + if (format == HyprCtl::FORMAT_JSON) { + result += "["; + + for (auto& m : g_pLayoutManager->getAllLayoutNames()) { + result += std::format( + R"#( + "{}",)#", + m); + } + trimTrailingComma(result); + + result += "\n]\n"; + } else { + for (auto& m : g_pLayoutManager->getAllLayoutNames()) { + result += std::format("{}\n", m); + } + } + return result; +} + std::string devicesRequest(HyprCtl::eHyprCtlOutputFormat format) { std::string result = ""; @@ -1377,6 +1399,8 @@ std::string getReply(std::string request) { return animationsRequest(format); else if (request == "rollinglog") return rollinglogRequest(format); + else if (request == "layouts") + return layoutsRequest(format); else if (request.starts_with("plugin")) return dispatchPlugin(request); else if (request.starts_with("notify")) |
