aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZandr Martin <zandrmartin@gmail.com>2016-09-17 22:00:11 -0500
committerZandr Martin <zandrmartin@gmail.com>2016-09-17 22:00:11 -0500
commite75217cfb1a9f098504782c7483c54c9f33196fa (patch)
tree93f63cf74bc4d336df6adcb19138f408a12d37a5
parent476274cfbbd44a330583f28f0695c8f2a0793120 (diff)
downloadsway-e75217cfb1a9f098504782c7483c54c9f33196fa.zip
sway-e75217cfb1a9f098504782c7483c54c9f33196fa.tar.gz
sway-e75217cfb1a9f098504782c7483c54c9f33196fa.tar.bz2
fix get_workspaces json reply
-rw-r--r--sway/ipc-server.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/ipc-server.c b/sway/ipc-server.c
index 70007f5..4c54e56 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
void ipc_get_workspaces_callback(swayc_t *workspace, void *data) {
if (workspace->type == C_WORKSPACE) {
- json_object_array_add((json_object *)data, ipc_json_describe_container(workspace));
+ json_object *workspace_json = ipc_json_describe_container(workspace);
+ // override the default focused indicator because
+ // it's set differently for the get_workspaces reply
+ bool focused = root_container.focused == workspace->parent && workspace->parent->focused == workspace;
+ json_object_object_del(workspace_json, "focused");
+ json_object_object_add(workspace_json, "focused", json_object_new_boolean(focused));
+ json_object_array_add((json_object *)data, workspace_json);
}
}