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