diff options
Diffstat (limited to 'sway/config')
-rw-r--r-- | sway/config/output.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index 19b9989a..9720bbf3 100644 --- a/sway/config/output.c +++ b/sway/config/output.c @@ -388,6 +388,17 @@ 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) { |