diff options
author | Tudor Brindus <me@tbrindus.ca> | 2020-04-25 19:06:51 -0400 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-04-26 09:13:39 +0200 |
commit | c3c9737e8bbce365b1fa8b8f9bbd02e246ced02f (patch) | |
tree | 35369e9804b9480a418361934501d71295de38b9 /sway/config/output.c | |
parent | d77247117c6f6ebd637a3b4ac029015381de5466 (diff) |
config/output: reconfigure input devices after full output init
Previously in 3de1a39, it "worked by accident" in my testing since the
display being used in `map_to_output` was initialized first (the map
would not be applied because the display hadn't actually come online
yet), and was followed by a second display (at which point the map would
get applied for the first display).
Refs #5231
Diffstat (limited to 'sway/config/output.c')
-rw-r--r-- | sway/config/output.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index 9720bbf3..5aaa4d93 100644 --- a/sway/config/output.c +++ b/sway/config/output.c @@ -388,17 +388,6 @@ static void queue_output_config(struct output_config *oc, oc->adaptive_sync); wlr_output_enable_adaptive_sync(wlr_output, oc->adaptive_sync == 1); } - - // Reconfigure all devices, since input config may have been applied before - // this output came online, and some config items (like map_to_output) are - // dependent on an output being present. - struct sway_input_device *input_device = NULL; - wl_list_for_each(input_device, &server.input->devices, link) { - struct sway_seat *seat = NULL; - wl_list_for_each(seat, &server.input->seats, link) { - seat_configure_device(seat, input_device); - } - } } bool apply_output_config(struct output_config *oc, struct sway_output *output) { @@ -489,6 +478,17 @@ bool apply_output_config(struct output_config *oc, struct sway_output *output) { output->max_render_time = oc->max_render_time; } + // Reconfigure all devices, since input config may have been applied before + // this output came online, and some config items (like map_to_output) are + // dependent on an output being present. + struct sway_input_device *input_device = NULL; + wl_list_for_each(input_device, &server.input->devices, link) { + struct sway_seat *seat = NULL; + wl_list_for_each(seat, &server.input->seats, link) { + seat_configure_device(seat, input_device); + } + } + return true; } |