aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2023-02-20 10:29:25 +0100
committerFurkan Sahin <furkan-dev@proton.me>2023-02-20 10:29:25 +0100
commit2e5c5a9721121f92d5d627af5d6f3be1c89edf07 (patch)
tree31e691356b28b8ca57f17d1009eebe5c4c8b3610
parent761f69454fb5c5ee00deae5b3c88a2e9b952c460 (diff)
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) {
struct sway_output *output = wlr_output->data;
output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y,
sway_layer->layer_surface->surface, true);
- surface_enter_output(sway_layer->layer_surface->surface, output);
cursor_rebase_all();
}
@@ -679,6 +678,8 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) {
wl_list_insert(&output->layers[layer_surface->pending.layer],
&sway_layer->link);
+ surface_enter_output(layer_surface->surface, output);
+
// Temporarily set the layer's current state to pending
// So that we can easily arrange it
struct wlr_layer_surface_v1_state old_state = layer_surface->current;