aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-07-28 09:44:01 -0400
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-08-01 22:47:54 -0400
commit37709917b115e43a4aa824df8ada11edcaf499cc (patch)
tree9932e6fb54f34660eedbac103190f4440a199bac /swaynag
parentswaynag: implement config file support (diff)
downloadsway-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.c19
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 }