aboutsummaryrefslogtreecommitdiff
path: root/sway/ipc-json.c
diff options
context:
space:
mode:
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 f9c6c90b..6158fc29 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -166,6 +166,11 @@ static void ipc_json_describe_view(struct sway_container *c, json_object *object
}
}
+static void focus_inactive_children_iterator(struct sway_container *c, void *data) {
+ json_object *focus = data;
+ json_object_array_add(focus, json_object_new_int(c->id));
+}
+
json_object *ipc_json_describe_container(struct sway_container *c) {
if (!(sway_assert(c, "Container must not be null."))) {
return NULL;
@@ -183,6 +188,11 @@ json_object *ipc_json_describe_container(struct sway_container *c) {
json_object_object_add(object, "focused",
json_object_new_boolean(focused));
+ json_object *focus = json_object_new_array();
+ seat_focus_inactive_children_for_each(seat, c,
+ focus_inactive_children_iterator, focus);
+ json_object_object_add(object, "focus", focus);
+
switch (c->type) {
case C_ROOT:
ipc_json_describe_root(c, object);