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