aboutsummaryrefslogtreecommitdiff
path: root/sway/ipc-server.c
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-05-11 23:51:47 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-05-12 18:17:36 +1000
commitc72940837c24b5df99c95667befe2e4e5c64575a (patch)
treeeae77f45803c33f0825ee134956b9dac292a52b1 /sway/ipc-server.c
parent7f03570caf747b07f8da28e58cc8074f4f6bc33d (diff)
Implement IPC get_seats command
Diffstat (limited to 'sway/ipc-server.c')
-rw-r--r--sway/ipc-server.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sway/ipc-server.c b/sway/ipc-server.c
index 39d1d0a7..8734e8f8 100644
--- a/sway/ipc-server.c
+++ b/sway/ipc-server.c
@@ -546,6 +546,19 @@ void ipc_client_handle_command(struct ipc_client *client) {
goto exit_cleanup;
}
+ case IPC_GET_SEATS:
+ {
+ json_object *seats = json_object_new_array();
+ struct sway_seat *seat = NULL;
+ wl_list_for_each(seat, &input_manager->seats, link) {
+ json_object_array_add(seats, ipc_json_describe_seat(seat));
+ }
+ const char *json_string = json_object_to_json_string(seats);
+ ipc_send_reply(client, json_string, (uint32_t)strlen(json_string));
+ json_object_put(seats); // free
+ goto exit_cleanup;
+ }
+
case IPC_GET_TREE:
{
json_object *tree =