diff options
-rw-r--r-- | sway/ipc-server.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/ipc-server.c b/sway/ipc-server.c index 70007f57..4c54e56a 100644 --- a/sway/ipc-server.c +++ b/sway/ipc-server.c | |||
@@ -512,7 +512,13 @@ bool ipc_send_reply(struct ipc_client *client, const char *payload, uint32_t pay | |||
512 | 512 | ||
513 | void ipc_get_workspaces_callback(swayc_t *workspace, void *data) { | 513 | void ipc_get_workspaces_callback(swayc_t *workspace, void *data) { |
514 | if (workspace->type == C_WORKSPACE) { | 514 | if (workspace->type == C_WORKSPACE) { |
515 | json_object_array_add((json_object *)data, ipc_json_describe_container(workspace)); | 515 | json_object *workspace_json = ipc_json_describe_container(workspace); |
516 | // override the default focused indicator because | ||
517 | // it's set differently for the get_workspaces reply | ||
518 | bool focused = root_container.focused == workspace->parent && workspace->parent->focused == workspace; | ||
519 | json_object_object_del(workspace_json, "focused"); | ||
520 | json_object_object_add(workspace_json, "focused", json_object_new_boolean(focused)); | ||
521 | json_object_array_add((json_object *)data, workspace_json); | ||
516 | } | 522 | } |
517 | } | 523 | } |
518 | 524 | ||