From ab859ec9fcd749f3f898684710085ff8dc1303d4 Mon Sep 17 00:00:00 2001 From: bazuin-32 Date: Tue, 12 Jul 2022 16:34:28 -0600 Subject: Fix issues with batch requests --- src/debug/HyprCtl.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/debug/HyprCtl.cpp') diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index 684bca9c..ab72d86e 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -513,22 +513,24 @@ std::string dispatchBatch(std::string request) { std::string getReply(std::string request) { auto format = HyprCtl::FORMAT_NORMAL; - // process flags - int sepIndex = 0; - for (const auto& c : request) { - if (c == '/') { // stop at separator - break; + // process flags for non-batch requests + if (!(request.find("[[BATCH]]") == 0)) { + int sepIndex = 0; + for (const auto& c : request) { + if (c == '/') { // stop at separator + break; + } + + sepIndex++; + + if (c == 'j') + format = HyprCtl::FORMAT_JSON; } - sepIndex++; - - if (c == 'j') - format = HyprCtl::FORMAT_JSON; + if (sepIndex < request.size()) + request = request.substr(sepIndex + 1); // remove flags and separator so we can compare the rest of the string } - if (sepIndex < request.size()) - request = request.substr(sepIndex + 1); // remove flags and separator so we can compare the rest of the string - if (request == "monitors") return monitorsRequest(format); else if (request == "workspaces") -- cgit v1.2.3