diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-28 09:44:01 -0400 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2018-08-01 22:47:54 -0400 |
commit | 37709917b115e43a4aa824df8ada11edcaf499cc (patch) | |
tree | 9932e6fb54f34660eedbac103190f4440a199bac /swaynag | |
parent | swaynag: implement config file support (diff) | |
download | sway-37709917b115e43a4aa824df8ada11edcaf499cc.tar.gz sway-37709917b115e43a4aa824df8ada11edcaf499cc.tar.zst sway-37709917b115e43a4aa824df8ada11edcaf499cc.zip |
Set output to NULL if not specified
This opens nagbar on the active output.
Diffstat (limited to 'swaynag')
-rw-r--r-- | swaynag/nagbar.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/swaynag/nagbar.c b/swaynag/nagbar.c index a20a9095..e451a53a 100644 --- a/swaynag/nagbar.c +++ b/swaynag/nagbar.c | |||
@@ -230,8 +230,7 @@ static void xdg_output_handle_name(void *data, | |||
230 | struct output_state *state = data; | 230 | struct output_state *state = data; |
231 | char *outname = state->nagbar->output.name; | 231 | char *outname = state->nagbar->output.name; |
232 | wlr_log(WLR_DEBUG, "Checking against output %s for %s", name, outname); | 232 | wlr_log(WLR_DEBUG, "Checking against output %s for %s", name, outname); |
233 | if ((!outname && !state->nagbar->output.wl_output) | 233 | if (outname && !state->nagbar->output.wl_output) { |
234 | || (name && outname && strcmp(name, outname) == 0)) { | ||
235 | wlr_log(WLR_DEBUG, "Using output %s", name); | 234 | wlr_log(WLR_DEBUG, "Using output %s", name); |
236 | state->nagbar->output.wl_output = state->wl_output; | 235 | state->nagbar->output.wl_output = state->wl_output; |
237 | state->nagbar->output.wl_name = state->wl_name; | 236 | state->nagbar->output.wl_name = state->wl_name; |
@@ -279,14 +278,6 @@ static void handle_global(void *data, struct wl_registry *registry, | |||
279 | nagbar->xdg_output_manager, state->wl_output); | 278 | nagbar->xdg_output_manager, state->wl_output); |
280 | zxdg_output_v1_add_listener(state->xdg_output, | 279 | zxdg_output_v1_add_listener(state->xdg_output, |
281 | &xdg_output_listener, state); | 280 | &xdg_output_listener, state); |
282 | } else if (!nagbar->output.wl_output && !nagbar->xdg_output_manager) { | ||
283 | wlr_log(WLR_ERROR, "Warning: zxdg_output_manager_v1 not supported." | ||
284 | " Falling back to first detected output"); | ||
285 | nagbar->output.wl_output = wl_registry_bind(registry, name, | ||
286 | &wl_output_interface, 3); | ||
287 | nagbar->output.wl_name = name; | ||
288 | wl_output_add_listener(nagbar->output.wl_output, | ||
289 | &output_listener, nagbar); | ||
290 | } | 281 | } |
291 | } else if (strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) { | 282 | } else if (strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) { |
292 | nagbar->layer_shell = wl_registry_bind( | 283 | nagbar->layer_shell = wl_registry_bind( |
@@ -327,12 +318,8 @@ void nagbar_setup(struct sway_nagbar *nagbar) { | |||
327 | wl_display_roundtrip(nagbar->display); | 318 | wl_display_roundtrip(nagbar->display); |
328 | } | 319 | } |
329 | 320 | ||
330 | if (!nagbar->output.wl_output) { | 321 | if (!nagbar->output.wl_output && nagbar->output.name) { |
331 | if (nagbar->output.name) { | 322 | wlr_log(WLR_ERROR, "Output '%s' not found", nagbar->output.name); |
332 | wlr_log(WLR_ERROR, "Output '%s' not found", nagbar->output.name); | ||
333 | } else { | ||
334 | wlr_log(WLR_ERROR, "No outputs detected"); | ||
335 | } | ||
336 | nagbar_destroy(nagbar); | 323 | nagbar_destroy(nagbar); |
337 | exit(EXIT_FAILURE); | 324 | exit(EXIT_FAILURE); |
338 | } | 325 | } |