summaryrefslogtreecommitdiff
path: root/sway/ipc-json.c
diff options
context:
space:
mode:
authorRyan Dwyer <[email protected]>2018-05-24 22:30:44 +1000
committerRyan Dwyer <[email protected]>2018-06-01 23:14:58 +1000
commit1f2e399ade77070a2d0b82856ad9a3eef96b8676 (patch)
treec469197e140051aea912cb173723c7e55ce1e410 /sway/ipc-json.c
parent1132efe42e8086216c7bab6b405d09a22231dde5 (diff)
Implement floating
Diffstat (limited to 'sway/ipc-json.c')
-rw-r--r--sway/ipc-json.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index da4bef60..4d7024a8 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -4,6 +4,7 @@
#include "log.h"
#include "sway/ipc-json.h"
#include "sway/tree/container.h"
+#include "sway/tree/workspace.h"
#include "sway/output.h"
#include "sway/input/input-manager.h"
#include "sway/input/seat.h"
@@ -150,6 +151,15 @@ static void ipc_json_describe_workspace(struct sway_container *workspace,
const char *layout = ipc_json_layout_description(workspace->layout);
json_object_object_add(object, "layout", json_object_new_string(layout));
+
+ // Floating
+ json_object *floating_array = json_object_new_array();
+ struct sway_container *floating = workspace->sway_workspace->floating;
+ for (int i = 0; i < floating->children->length; ++i) {
+ struct sway_container *floater = floating->children->items[i];
+ json_object_array_add(floating_array, ipc_json_describe_container_recursive(floater));
+ }
+ json_object_object_add(object, "floating_nodes", floating_array);
}
static void ipc_json_describe_view(struct sway_container *c, json_object *object) {