parent
68036018c8
commit
aeda2e077f
@ -0,0 +1,6 @@
|
|||||||
|
#ifndef _SWAY_WORKSPACE_H
|
||||||
|
#define _SWAY_WORKSPACE_H
|
||||||
|
|
||||||
|
char *workspace_next_name(const char *output_name);
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,26 @@
|
|||||||
|
#define _XOPEN_SOURCE 500
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#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;
|
||||||
|
}
|
Loading…
Reference in new issue