mirror of
https://github.com/swaywm/sway.git
synced 2024-11-25 17:31:28 +00:00
log, commands: Add log_colors command
This commit is contained in:
parent
ec2fedf6d0
commit
c688ff704d
|
@ -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 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
15
sway/log.c
15
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;
|
||||||
}
|
}
|
||||||
fprintf(stderr, verbosity_colors[c]);
|
|
||||||
|
if(colored) {
|
||||||
|
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);
|
||||||
fprintf(stderr, "\x1B[0m\n");
|
|
||||||
|
if(colored) {
|
||||||
|
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…
Reference in a new issue