Add an i3bar flag: --verbose

Fix the issue #3220. (https://github.com/i3/i3/issues/3220)
This commit is contained in:
hwangcc23 2018-04-10 22:20:42 +08:00
parent b688164235
commit e26fd91cf8
4 changed files with 11 additions and 4 deletions

View File

@ -160,7 +160,8 @@ flood kicks.
== Debugging i3bar == Debugging i3bar
To debug i3bar problems, add +verbose yes+ to all +bar {}+ blocks in your i3 To debug i3bar problems, use the +--verbose+ commandline parameter,
or add +verbose yes+ to all +bar {}+ blocks in your i3
config, reload your config and then restart all i3bar instances like this: config, reload your config and then restart all i3bar instances like this:
--------------------------------------------------------------------- ---------------------------------------------------------------------

View File

@ -47,7 +47,7 @@ typedef struct config_t {
bindings; bindings;
position_t position; position_t position;
int verbose; bool verbose;
struct xcb_color_strings_t colors; struct xcb_color_strings_t colors;
bool disable_binding_mode_indicator; bool disable_binding_mode_indicator;
bool disable_ws; bool disable_ws;

View File

@ -62,6 +62,7 @@ void print_usage(char *elf_name) {
printf("-s, --socket <sock_path>\tConnect to i3 via <sock_path>\n"); printf("-s, --socket <sock_path>\tConnect to i3 via <sock_path>\n");
printf("-h, --help Display this help message and exit\n"); printf("-h, --help Display this help message and exit\n");
printf("-v, --version Display version number and exit\n"); printf("-v, --version Display version number and exit\n");
printf("-V, --verbose Enable verbose mode\n");
printf("\n"); printf("\n");
printf(" PLEASE NOTE that i3bar will be automatically started by i3\n" printf(" PLEASE NOTE that i3bar will be automatically started by i3\n"
" as soon as there is a 'bar' configuration block in your\n" " as soon as there is a 'bar' configuration block in your\n"
@ -106,9 +107,10 @@ int main(int argc, char **argv) {
{"bar_id", required_argument, 0, 'b'}, {"bar_id", required_argument, 0, 'b'},
{"help", no_argument, 0, 'h'}, {"help", no_argument, 0, 'h'},
{"version", no_argument, 0, 'v'}, {"version", no_argument, 0, 'v'},
{"verbose", no_argument, 0, 'V'},
{NULL, 0, 0, 0}}; {NULL, 0, 0, 0}};
while ((opt = getopt_long(argc, argv, "b:s:hv", long_opt, &option_index)) != -1) { while ((opt = getopt_long(argc, argv, "b:s:hvV", long_opt, &option_index)) != -1) {
switch (opt) { switch (opt) {
case 's': case 's':
socket_path = expand_path(optarg); socket_path = expand_path(optarg);
@ -120,6 +122,9 @@ int main(int argc, char **argv) {
case 'b': case 'b':
config.bar_id = sstrdup(optarg); config.bar_id = sstrdup(optarg);
break; break;
case 'V':
config.verbose = true;
break;
default: default:
print_usage(argv[0]); print_usage(argv[0]);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);

View File

@ -949,8 +949,9 @@ int main(int argc, char *argv[]) {
Barconfig *barconfig; Barconfig *barconfig;
TAILQ_FOREACH(barconfig, &barconfigs, configs) { TAILQ_FOREACH(barconfig, &barconfigs, configs) {
char *command = NULL; char *command = NULL;
sasprintf(&command, "%s --bar_id=%s --socket=\"%s\"", sasprintf(&command, "%s %s --bar_id=%s --socket=\"%s\"",
barconfig->i3bar_command ? barconfig->i3bar_command : "i3bar", barconfig->i3bar_command ? barconfig->i3bar_command : "i3bar",
barconfig->verbose ? "-V" : "",
barconfig->id, current_socketpath); barconfig->id, current_socketpath);
LOG("Starting bar process: %s\n", command); LOG("Starting bar process: %s\n", command);
start_application(command, true); start_application(command, true);