aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2023-02-20 10:29:25 +0100
committerLibravatar Kenny Levinsen <kl@kl.wtf>2023-02-20 12:20:42 +0100
commit7d2e4a51063ac90f950cb44f141ab391cbcaff5f (patch)
tree31e691356b28b8ca57f17d1009eebe5c4c8b3610
parentUpdate surface fractional scale on output change (diff)
downloadsway-7d2e4a51063ac90f950cb44f141ab391cbcaff5f.tar.gz
sway-7d2e4a51063ac90f950cb44f141ab391cbcaff5f.tar.zst
sway-7d2e4a51063ac90f950cb44f141ab391cbcaff5f.zip
layer-shell: enter output before surface is mapped
This sends fractional-scale-v1 events before the first configure event. That way clients have all of the metadata they need to render the first frame.
-rw-r--r--sway/desktop/layer_shell.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 795eb4cd..e16bee78 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -383,7 +383,6 @@ static void handle_map(struct wl_listener *listener, void *data) {
383 struct sway_output *output = wlr_output->data; 383 struct sway_output *output = wlr_output->data;
384 output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y, 384 output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y,
385 sway_layer->layer_surface->surface, true); 385 sway_layer->layer_surface->surface, true);
386 surface_enter_output(sway_layer->layer_surface->surface, output);
387 cursor_rebase_all(); 386 cursor_rebase_all();
388} 387}
389 388
@@ -679,6 +678,8 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) {
679 wl_list_insert(&output->layers[layer_surface->pending.layer], 678 wl_list_insert(&output->layers[layer_surface->pending.layer],
680 &sway_layer->link); 679 &sway_layer->link);
681 680
681 surface_enter_output(layer_surface->surface, output);
682
682 // Temporarily set the layer's current state to pending 683 // Temporarily set the layer's current state to pending
683 // So that we can easily arrange it 684 // So that we can easily arrange it
684 struct wlr_layer_surface_v1_state old_state = layer_surface->current; 685 struct wlr_layer_surface_v1_state old_state = layer_surface->current;