diff --git a/sway/ipc-json.c b/sway/ipc-json.c index f0afdc9f6..213c8fb6f 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -5,6 +5,8 @@ #include "sway/ipc-json.h" #include "sway/container.h" #include "sway/output.h" +#include "sway/input/input-manager.h" +#include "sway/input/seat.h" #include #include @@ -95,11 +97,15 @@ json_object *ipc_json_describe_container(swayc_t *c) { return NULL; } + struct sway_seat *seat = sway_input_manager_get_default_seat(input_manager); + bool focused = sway_seat_get_focus(seat) == c; + json_object *object = json_object_new_object(); json_object_object_add(object, "id", json_object_new_int((int)c->id)); json_object_object_add(object, "name", (c->name) ? json_object_new_string(c->name) : NULL); json_object_object_add(object, "rect", ipc_json_create_rect(c)); + json_object_object_add(object, "focused", json_object_new_boolean(focused)); switch (c->type) { case C_ROOT: