summaryrefslogtreecommitdiff
path: root/src/debug/HyprCtl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/HyprCtl.cpp')
-rw-r--r--src/debug/HyprCtl.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp
index bdfaad16..b43666fe 100644
--- a/src/debug/HyprCtl.cpp
+++ b/src/debug/HyprCtl.cpp
@@ -601,6 +601,23 @@ std::string splashRequest() {
return g_pCompositor->m_szCurrentSplash;
}
+std::string cursorPosRequest(HyprCtl::eHyprCtlOutputFormat format) {
+ const auto CURSORPOS = g_pInputManager->getMouseCoordsInternal().floor();
+
+ if (format == HyprCtl::FORMAT_NORMAL) {
+ return getFormat("%i, %i", (int)CURSORPOS.x, (int)CURSORPOS.y);
+ } else {
+ return getFormat(R"#(
+{
+ "x": %i,
+ "y": %i
+}
+)#", (int)CURSORPOS.x, (int)CURSORPOS.y);
+ }
+
+ return "error";
+}
+
std::string getReply(std::string);
std::string dispatchBatch(std::string request) {
@@ -767,6 +784,8 @@ std::string getReply(std::string request) {
return devicesRequest(format);
else if (request == "splash")
return splashRequest();
+ else if (request == "cursorpos")
+ return cursorPosRequest(format);
else if (request.find("dispatch") == 0)
return dispatchRequest(request);
else if (request.find("keyword") == 0)