swaybar: do not create tray if hidden

This commit is contained in:
Ian Fan 2018-12-11 16:27:39 +00:00
parent 2fd41fe9c8
commit f33b5c5223
4 changed files with 6 additions and 2 deletions

View File

@ -69,6 +69,7 @@ struct swaybar_config {
#if HAVE_TRAY
char *icon_theme;
char *tray_bindings[10]; // mouse buttons 0-9
bool tray_hidden;
list_t *tray_outputs; // char *
int tray_padding;
#endif

View File

@ -31,8 +31,8 @@ struct cmd_results *bar_cmd_tray_output(int argc, char **argv) {
} else {
wlr_log(WLR_DEBUG, "Showing tray on output '%s' for bar: %s", argv[0],
config->current_bar->id);
list_add(outputs, strdup(argv[0]));
}
list_add(outputs, strdup(argv[0]));
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
#else

View File

@ -371,7 +371,9 @@ bool bar_setup(struct swaybar *bar, const char *socket_path) {
assert(pointer->cursor_surface);
#if HAVE_TRAY
if (!bar->config->tray_hidden) {
bar->tray = create_tray(bar);
}
#endif
if (bar->config->workspace_buttons) {

View File

@ -293,6 +293,7 @@ static bool ipc_parse_config(
json_object *o = json_object_array_get_idx(tray_outputs, i);
list_add(config->tray_outputs, strdup(json_object_get_string(o)));
}
config->tray_hidden = strcmp(config->tray_outputs->items[0], "none") == 0;
}
if ((json_object_object_get_ex(bar_config, "tray_padding", &tray_padding))) {