diff options
-rw-r--r-- | sway/config/output.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index 1a37c47c..8dfa8c57 100644 --- a/sway/config/output.c +++ b/sway/config/output.c | |||
@@ -345,20 +345,17 @@ static void queue_output_config(struct output_config *oc, | |||
345 | return; | 345 | return; |
346 | } | 346 | } |
347 | 347 | ||
348 | if (!oc) { | 348 | sway_log(SWAY_DEBUG, "Turning on output %s", wlr_output->name); |
349 | sway_log(SWAY_DEBUG, "Turning on output %s", wlr_output->name); | 349 | wlr_output_enable(wlr_output, true); |
350 | wlr_output_enable(wlr_output, true); | 350 | |
351 | 351 | if (oc && oc->width > 0 && oc->height > 0) { | |
352 | if (oc && oc->width > 0 && oc->height > 0) { | 352 | sway_log(SWAY_DEBUG, "Set %s mode to %dx%d (%f Hz)", |
353 | sway_log(SWAY_DEBUG, "Set %s mode to %dx%d (%f Hz)", | 353 | wlr_output->name, oc->width, oc->height, oc->refresh_rate); |
354 | wlr_output->name, oc->width, oc->height, oc->refresh_rate); | 354 | set_mode(wlr_output, oc->width, oc->height, |
355 | set_mode(wlr_output, oc->width, oc->height, | 355 | oc->refresh_rate, oc->custom_mode == 1); |
356 | oc->refresh_rate, oc->custom_mode == 1); | 356 | } else if (!wl_list_empty(&wlr_output->modes)) { |
357 | } else if (!wl_list_empty(&wlr_output->modes)) { | 357 | struct wlr_output_mode *mode = wlr_output_preferred_mode(wlr_output); |
358 | struct wlr_output_mode *mode = wlr_output_preferred_mode(wlr_output); | 358 | wlr_output_set_mode(wlr_output, mode); |
359 | wlr_output_set_mode(wlr_output, mode); | ||
360 | } | ||
361 | output->current_mode = wlr_output->pending.mode; | ||
362 | } | 359 | } |
363 | 360 | ||
364 | if (oc && (oc->subpixel != WL_OUTPUT_SUBPIXEL_UNKNOWN || config->reloading)) { | 361 | if (oc && (oc->subpixel != WL_OUTPUT_SUBPIXEL_UNKNOWN || config->reloading)) { |