swaybar: do not create tray if hidden

master
Ian Fan 6 years ago
parent 2fd41fe9c8
commit f33b5c5223

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

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

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

@ -293,6 +293,7 @@ static bool ipc_parse_config(
json_object *o = json_object_array_get_idx(tray_outputs, i); json_object *o = json_object_array_get_idx(tray_outputs, i);
list_add(config->tray_outputs, strdup(json_object_get_string(o))); 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))) { if ((json_object_object_get_ex(bar_config, "tray_padding", &tray_padding))) {

Loading…
Cancel
Save