mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			767 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			767 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <string.h>
 | 
						|
#include "sway/commands.h"
 | 
						|
#include "sway/criteria.h"
 | 
						|
#include "list.h"
 | 
						|
#include "log.h"
 | 
						|
#include "stringop.h"
 | 
						|
 | 
						|
struct cmd_results *cmd_for_window(int argc, char **argv) {
 | 
						|
	struct cmd_results *error = NULL;
 | 
						|
	if ((error = checkarg(argc, "for_window", EXPECTED_AT_LEAST, 2))) {
 | 
						|
		return error;
 | 
						|
	}
 | 
						|
 | 
						|
	char *err_str = NULL;
 | 
						|
	struct criteria *criteria = criteria_parse(argv[0], &err_str);
 | 
						|
	if (!criteria) {
 | 
						|
		error = cmd_results_new(CMD_INVALID, err_str);
 | 
						|
		free(err_str);
 | 
						|
		return error;
 | 
						|
	}
 | 
						|
 | 
						|
	criteria->type = CT_COMMAND;
 | 
						|
	criteria->cmdlist = join_args(argv + 1, argc - 1);
 | 
						|
 | 
						|
	list_add(config->criteria, criteria);
 | 
						|
	sway_log(SWAY_DEBUG, "for_window: '%s' -> '%s' added", criteria->raw, criteria->cmdlist);
 | 
						|
 | 
						|
	return cmd_results_new(CMD_SUCCESS, NULL);
 | 
						|
}
 |