From 07080498fd050a6a6660eb68c36d12eb3f87a003 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Thu, 21 Apr 2022 16:56:27 +0200 Subject: Added hyprctl keyword --- src/debug/HyprCtl.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/debug/HyprCtl.cpp') diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index 998ea360..21023ef6 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -88,6 +88,22 @@ std::string dispatchRequest(std::string in) { return "ok"; } +std::string dispatchKeyword(std::string in) { + // get rid of the keyword keyword + in = in.substr(in.find_first_of(' ') + 1); + + const auto COMMAND = in.substr(0, in.find_first_of(' ')); + + const auto VALUE = in.substr(in.find_first_of(' ') + 1); + + std::string retval = g_pConfigManager->parseKeyword(COMMAND, VALUE, true); + + if (retval == "") + return "ok"; + + return retval; +} + void HyprCtl::startHyprCtlSocket() { std::thread([&]() { uint16_t connectPort = 9187; @@ -149,6 +165,7 @@ void HyprCtl::startHyprCtlSocket() { else if (request == "activewindow") reply = activeWindowRequest(); else if (request == "layers") reply = layersRequest(); else if (request.find("dispatch") == 0) reply = dispatchRequest(request); + else if (request.find("keyword") == 0) reply = dispatchKeyword(request); } catch (std::exception& e) { Debug::log(ERR, "Error in request: %s", e.what()); reply = "Err: " + std::string(e.what()); -- cgit v1.2.3