Set output to NULL if not specified

This opens nagbar on the active output.
This commit is contained in:
Drew DeVault 2018-07-28 09:44:01 -04:00 committed by Brian Ashworth
parent 8463a2896a
commit 37709917b1

View file

@ -230,8 +230,7 @@ static void xdg_output_handle_name(void *data,
struct output_state *state = data; struct output_state *state = data;
char *outname = state->nagbar->output.name; char *outname = state->nagbar->output.name;
wlr_log(WLR_DEBUG, "Checking against output %s for %s", name, outname); wlr_log(WLR_DEBUG, "Checking against output %s for %s", name, outname);
if ((!outname && !state->nagbar->output.wl_output) if (outname && !state->nagbar->output.wl_output) {
|| (name && outname && strcmp(name, outname) == 0)) {
wlr_log(WLR_DEBUG, "Using output %s", name); wlr_log(WLR_DEBUG, "Using output %s", name);
state->nagbar->output.wl_output = state->wl_output; state->nagbar->output.wl_output = state->wl_output;
state->nagbar->output.wl_name = state->wl_name; state->nagbar->output.wl_name = state->wl_name;
@ -279,14 +278,6 @@ static void handle_global(void *data, struct wl_registry *registry,
nagbar->xdg_output_manager, state->wl_output); nagbar->xdg_output_manager, state->wl_output);
zxdg_output_v1_add_listener(state->xdg_output, zxdg_output_v1_add_listener(state->xdg_output,
&xdg_output_listener, state); &xdg_output_listener, state);
} else if (!nagbar->output.wl_output && !nagbar->xdg_output_manager) {
wlr_log(WLR_ERROR, "Warning: zxdg_output_manager_v1 not supported."
" Falling back to first detected output");
nagbar->output.wl_output = wl_registry_bind(registry, name,
&wl_output_interface, 3);
nagbar->output.wl_name = name;
wl_output_add_listener(nagbar->output.wl_output,
&output_listener, nagbar);
} }
} else if (strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) { } else if (strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) {
nagbar->layer_shell = wl_registry_bind( nagbar->layer_shell = wl_registry_bind(
@ -327,12 +318,8 @@ void nagbar_setup(struct sway_nagbar *nagbar) {
wl_display_roundtrip(nagbar->display); wl_display_roundtrip(nagbar->display);
} }
if (!nagbar->output.wl_output) { if (!nagbar->output.wl_output && nagbar->output.name) {
if (nagbar->output.name) { wlr_log(WLR_ERROR, "Output '%s' not found", nagbar->output.name);
wlr_log(WLR_ERROR, "Output '%s' not found", nagbar->output.name);
} else {
wlr_log(WLR_ERROR, "No outputs detected");
}
nagbar_destroy(nagbar); nagbar_destroy(nagbar);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }