af94b011af255de87b2b026121fab1e6f2c56c6d

Author
outfoxxed <outfoxxed@outfoxxed.me>
Committer
outfoxxed <outfoxxed@outfoxxed.me>
Date

Message

fix debugnodes + show responses in hyprctl

Diff

 1diff --git a/src/Hy3Node.cpp b/src/Hy3Node.cpp
 2index 8cde6f5d753b22a4a0eaecf97ae22e82a0f639b6..f2adc5f2c80f62513b035abbfe30452b5e645a96 100644
 3--- a/src/Hy3Node.cpp
 4+++ b/src/Hy3Node.cpp
 5@@ -702,17 +702,10 @@ std::string Hy3Node::debugNode() {
 6 	std::string addr = "0x" + std::to_string((size_t) this);
 7 	switch (this->data.type()) {
 8 	case Hy3NodeType::Window:
 9-		buf << "window(";
10-		buf << std::hex << this;
11-		buf << ") [hypr ";
12-		buf << this->data.as_window();
13-		buf << "] size ratio: ";
14-		buf << this->size_ratio;
15+		buf << "window(" << this << ") [hypr " << this->data.as_window().get() << "] size ratio: " << this->size_ratio;
16 		break;
17 	case Hy3NodeType::Group:
18-		buf << "group(";
19-		buf << std::hex << this;
20-		buf << ") [";
21+		buf << "group(" << this << ") [";
22 
23 		auto& group = this->data.as_group();
24 		switch (group.layout) {
25diff --git a/src/dispatchers.cpp b/src/dispatchers.cpp
26index 2cc41829d398ae820496a2e7e23d720bdeed798f..e0c359fdf317b8f7acea8da1470c53403d006292 100644
27--- a/src/dispatchers.cpp
28+++ b/src/dispatchers.cpp
29@@ -7,6 +7,7 @@
30 
31 #include "dispatchers.hpp"
32 #include "globals.hpp"
33+#include "src/SharedDefs.hpp"
34 
35 void dispatch_makegroup(std::string value) {
36 	auto workspace = workspace_for_action();
37@@ -263,14 +264,16 @@ void dispatch_locktab(std::string arg) {
38 	g_Hy3Layout->setTabLock(workspace.get(), mode);
39 }
40 
41-void dispatch_debug(std::string arg) {
42+SDispatchResult dispatch_debug(std::string arg) {
43 	auto workspace = workspace_for_action();
44 
45 	auto* root = g_Hy3Layout->getWorkspaceRootGroup(workspace.get());
46 	if (!valid(workspace)) {
47 		hy3_log(LOG, "DEBUG NODES: no nodes on workspace");
48+		return { .success = false, .error = "no nodes on workspace" };
49 	} else {
50 		hy3_log(LOG, "DEBUG NODES\n{}", root->debugNode().c_str());
51+		return { .success = false, .error = root->debugNode() };
52 	}
53 }
54 
55@@ -289,5 +292,5 @@ void registerDispatchers() {
56 	HyprlandAPI::addDispatcher(PHANDLE, "hy3:killactive", dispatch_killactive);
57 	HyprlandAPI::addDispatcher(PHANDLE, "hy3:expand", dispatch_expand);
58 	HyprlandAPI::addDispatcher(PHANDLE, "hy3:locktab", dispatch_locktab);
59-	HyprlandAPI::addDispatcher(PHANDLE, "hy3:debugnodes", dispatch_debug);
60+	HyprlandAPI::addDispatcherV2(PHANDLE, "hy3:debugnodes", dispatch_debug);
61 }