sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 7d2e4a51063ac90f950cb44f141ab391cbcaff5f
parent 7a6c7d60d5dece586654d8855f34da25e92987fa
Author: Simon Ser <contact@emersion.fr>
Date:   Mon, 20 Feb 2023 10:29:25 +0100

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.

Diffstat:
Msway/desktop/layer_shell.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 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;