aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-05-29 17:42:11 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-05-29 17:42:11 +1000
commit6f4cb2b29d5a708d58a88c40ed6cc01bf471a8f0 (patch)
tree5aa498b0d4ec3a215a3ea70f082e6ab1d9f361f2 /sway
parentMerge pull request #2068 from RedSoxFan/workspace-layout (diff)
downloadsway-6f4cb2b29d5a708d58a88c40ed6cc01bf471a8f0.tar.gz
sway-6f4cb2b29d5a708d58a88c40ed6cc01bf471a8f0.tar.zst
sway-6f4cb2b29d5a708d58a88c40ed6cc01bf471a8f0.zip
Add tree representation to IPC workspace description
Diffstat (limited to 'sway')
-rw-r--r--sway/ipc-json.c2
-rw-r--r--sway/tree/container.c10
2 files changed, 8 insertions, 4 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index ad37216f..0233a36e 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -147,6 +147,8 @@ static void ipc_json_describe_workspace(struct sway_container *workspace,
147 json_object_new_string(workspace->parent->name) : NULL); 147 json_object_new_string(workspace->parent->name) : NULL);
148 json_object_object_add(object, "type", json_object_new_string("workspace")); 148 json_object_object_add(object, "type", json_object_new_string("workspace"));
149 json_object_object_add(object, "urgent", json_object_new_boolean(false)); 149 json_object_object_add(object, "urgent", json_object_new_boolean(false));
150 json_object_object_add(object, "representation", workspace->formatted_title ?
151 json_object_new_string(workspace->formatted_title) : NULL);
150 152
151 const char *layout = ipc_json_layout_description(workspace->layout); 153 const char *layout = ipc_json_layout_description(workspace->layout);
152 json_object_object_add(object, "layout", json_object_new_string(layout)); 154 json_object_object_add(object, "layout", json_object_new_string(layout));
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 59137d88..33d88d7f 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -842,7 +842,7 @@ static size_t get_tree_representation(struct sway_container *parent, char *buffe
842} 842}
843 843
844void container_notify_subtree_changed(struct sway_container *container) { 844void container_notify_subtree_changed(struct sway_container *container) {
845 if (!container || container->type != C_CONTAINER) { 845 if (!container || container->type < C_WORKSPACE) {
846 return; 846 return;
847 } 847 }
848 free(container->formatted_title); 848 free(container->formatted_title);
@@ -856,9 +856,11 @@ void container_notify_subtree_changed(struct sway_container *container) {
856 get_tree_representation(container, buffer); 856 get_tree_representation(container, buffer);
857 857
858 container->formatted_title = buffer; 858 container->formatted_title = buffer;
859 container_calculate_title_height(container); 859 if (container->type != C_WORKSPACE) {
860 container_update_title_textures(container); 860 container_calculate_title_height(container);
861 container_notify_subtree_changed(container->parent); 861 container_update_title_textures(container);
862 container_notify_subtree_changed(container->parent);
863 }
862} 864}
863 865
864size_t container_titlebar_height() { 866size_t container_titlebar_height() {