mirror of
https://codeberg.org/dwl/dwl.git
synced 2026-04-08 08:21:00 -04:00
fall back to a lower output mode if needed (swaywm/sway@4cdc4ac)
This commit is contained in:
parent
cb4265ac8c
commit
88837bf149
1 changed files with 12 additions and 1 deletions
13
dwl.c
13
dwl.c
|
|
@ -822,6 +822,7 @@ createmon(struct wl_listener *listener, void *data)
|
||||||
/* This event is raised by the backend when a new output (aka a display or
|
/* This event is raised by the backend when a new output (aka a display or
|
||||||
* monitor) becomes available. */
|
* monitor) becomes available. */
|
||||||
struct wlr_output *wlr_output = data;
|
struct wlr_output *wlr_output = data;
|
||||||
|
struct wlr_output_mode *preferred_mode, *mode;
|
||||||
const MonitorRule *r;
|
const MonitorRule *r;
|
||||||
Monitor *m = wlr_output->data = calloc(1, sizeof(*m));
|
Monitor *m = wlr_output->data = calloc(1, sizeof(*m));
|
||||||
if (!m)
|
if (!m)
|
||||||
|
|
@ -850,7 +851,17 @@ createmon(struct wl_listener *listener, void *data)
|
||||||
* monitor supports only a specific set of modes. We just pick the
|
* monitor supports only a specific set of modes. We just pick the
|
||||||
* monitor's preferred mode; a more sophisticated compositor would let
|
* monitor's preferred mode; a more sophisticated compositor would let
|
||||||
* the user configure it. */
|
* the user configure it. */
|
||||||
wlr_output_set_mode(wlr_output, wlr_output_preferred_mode(wlr_output));
|
preferred_mode = wlr_output_preferred_mode(wlr_output);
|
||||||
|
wlr_output_set_mode(wlr_output, preferred_mode);
|
||||||
|
if (!wlr_output_test(wlr_output) && !wl_list_empty(&wlr_output->modes)) {
|
||||||
|
wl_list_for_each(mode, &wlr_output->modes, link) {
|
||||||
|
if (mode != preferred_mode) {
|
||||||
|
wlr_output_set_mode(wlr_output, mode);
|
||||||
|
if (wlr_output_test(wlr_output))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
wlr_output_enable_adaptive_sync(wlr_output, 1);
|
wlr_output_enable_adaptive_sync(wlr_output, 1);
|
||||||
|
|
||||||
/* Set up event listeners */
|
/* Set up event listeners */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue