From 6bbfd65735ba17ee55ee90b7021c70d68f27b55a Mon Sep 17 00:00:00 2001 From: minus Date: Thu, 27 Aug 2015 00:44:47 +0200 Subject: [PATCH] fixed container_map applies to the passed in container now as well. fixes workspaces staying always marked visible. also set workspaces to not visible by default; happens when you move a container to a new workspace that thus is not visible --- sway/container.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sway/container.c b/sway/container.c index 5321e3cda..fda90e5be 100644 --- a/sway/container.c +++ b/sway/container.c @@ -152,7 +152,7 @@ swayc_t *new_workspace(swayc_t *output, const char *name) { workspace->width = output->width; workspace->height = output->height; workspace->name = strdup(name); - workspace->visible = true; + workspace->visible = false; workspace->floating = create_list(); add_child(output, workspace); @@ -503,18 +503,17 @@ bool swayc_is_active(swayc_t *view) { void container_map(swayc_t *container, void (*f)(swayc_t *view, void *data), void *data) { if (container) { + f(container, data); int i; if (container->children) { for (i = 0; i < container->children->length; ++i) { swayc_t *child = container->children->items[i]; - f(child, data); container_map(child, f, data); } } if (container->floating) { for (i = 0; i < container->floating->length; ++i) { swayc_t *child = container->floating->items[i]; - f(child, data); container_map(child, f, data); } }