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 }