From aeda2e077f6184ecd26dc078c7b5db7f0dc54fd7 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 22 Nov 2017 20:39:27 -0500 Subject: Add workspace to outputs --- sway/tree/workspace.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 sway/tree/workspace.c (limited to 'sway/tree/workspace.c') diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c new file mode 100644 index 00000000..e8ed4102 --- /dev/null +++ b/sway/tree/workspace.c @@ -0,0 +1,26 @@ +#define _XOPEN_SOURCE 500 +#include +#include +#include +#include "sway/container.h" +#include "log.h" + +void next_name_map(swayc_t *ws, void *data) { + int *count = data; + ++count; +} + +char *workspace_next_name(const char *output_name) { + sway_log(L_DEBUG, "Workspace: Generating new workspace name for output %s", + output_name); + int count = 0; + next_name_map(&root_container, &count); + ++count; + int len = snprintf(NULL, 0, "%d", count); + char *name = malloc(len + 1); + if (!sway_assert(name, "Failed to allocate workspace name")) { + return NULL; + } + snprintf(name, len + 1, "%d", count); + return name; +} -- cgit v1.2.3