mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	log, commands: Add log_colors command
This commit is contained in:
		
							parent
							
								
									ec2fedf6d0
								
							
						
					
					
						commit
						c688ff704d
					
				
					 3 changed files with 31 additions and 2 deletions
				
			
		| 
						 | 
					@ -146,6 +146,22 @@ int cmd_set(struct sway_config *config, int argc, char **argv) {
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int cmd_log_colors(struct sway_config *config, int argc, char **argv) {
 | 
				
			||||||
 | 
						if (argc != 1) {
 | 
				
			||||||
 | 
							sway_log(L_ERROR, "Invalid log_colors command (expected 1 argument, got %d)", argc);
 | 
				
			||||||
 | 
							return 1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (strcasecmp(argv[0], "no") != 0 && strcasecmp(argv[0], "yes") != 0) {
 | 
				
			||||||
 | 
							sway_log(L_ERROR, "Invalid log_colors command (expected `yes` or `no`, got '%s')", argv[0]);
 | 
				
			||||||
 | 
							return 1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sway_log_colors(!strcasecmp(argv[0], "yes"));
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Keep alphabetized */
 | 
					/* Keep alphabetized */
 | 
				
			||||||
struct cmd_handler handlers[] = {
 | 
					struct cmd_handler handlers[] = {
 | 
				
			||||||
	{ "bindsym", cmd_bindsym },
 | 
						{ "bindsym", cmd_bindsym },
 | 
				
			||||||
| 
						 | 
					@ -153,6 +169,7 @@ struct cmd_handler handlers[] = {
 | 
				
			||||||
	{ "exit", cmd_exit },
 | 
						{ "exit", cmd_exit },
 | 
				
			||||||
	{ "focus_follows_mouse", cmd_focus_follows_mouse },
 | 
						{ "focus_follows_mouse", cmd_focus_follows_mouse },
 | 
				
			||||||
	{ "layout", cmd_layout },
 | 
						{ "layout", cmd_layout },
 | 
				
			||||||
 | 
						{ "log_colors", cmd_log_colors },
 | 
				
			||||||
	{ "set", cmd_set },
 | 
						{ "set", cmd_set },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								sway/log.c
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								sway/log.c
									
										
									
									
									
								
							| 
						 | 
					@ -17,6 +17,10 @@ void init_log(int verbosity) {
 | 
				
			||||||
	v = verbosity;
 | 
						v = verbosity;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void sway_log_colors(int mode) {
 | 
				
			||||||
 | 
					    colored = (mode == 1) ? 1 : 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void sway_abort(char *format, ...) {
 | 
					void sway_abort(char *format, ...) {
 | 
				
			||||||
	fprintf(stderr, "ERROR: ");
 | 
						fprintf(stderr, "ERROR: ");
 | 
				
			||||||
	va_list args;
 | 
						va_list args;
 | 
				
			||||||
| 
						 | 
					@ -33,11 +37,18 @@ void sway_log(int verbosity, char* format, ...) {
 | 
				
			||||||
		if (c > sizeof(verbosity_colors) / sizeof(char *)) {
 | 
							if (c > sizeof(verbosity_colors) / sizeof(char *)) {
 | 
				
			||||||
			c = sizeof(verbosity_colors) / sizeof(char *) - 1;
 | 
								c = sizeof(verbosity_colors) / sizeof(char *) - 1;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(colored) {
 | 
				
			||||||
			fprintf(stderr, verbosity_colors[c]);
 | 
								fprintf(stderr, verbosity_colors[c]);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		va_list args;
 | 
							va_list args;
 | 
				
			||||||
		va_start(args, format);
 | 
							va_start(args, format);
 | 
				
			||||||
		vfprintf(stderr, format, args);
 | 
							vfprintf(stderr, format, args);
 | 
				
			||||||
		va_end(args);
 | 
							va_end(args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(colored) {
 | 
				
			||||||
			fprintf(stderr, "\x1B[0m\n");
 | 
								fprintf(stderr, "\x1B[0m\n");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,6 +9,7 @@ typedef enum {
 | 
				
			||||||
} log_importance_t;
 | 
					} log_importance_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void init_log(int verbosity);
 | 
					void init_log(int verbosity);
 | 
				
			||||||
 | 
					void sway_log_colors(int mode);
 | 
				
			||||||
void sway_log(int verbosity, char* format, ...);
 | 
					void sway_log(int verbosity, char* format, ...);
 | 
				
			||||||
void sway_abort(char* format, ...);
 | 
					void sway_abort(char* format, ...);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue