From b4a42c88f49d1e163e964d2aeebff391af4afa2f Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 25 Aug 2024 14:40:23 +0200 Subject: [PATCH] xdg-shell: clarify clients set their initial state before initial commit It wasn't clear that it's important clients set up their initial xdg_surface state before they send the initial commit. This is required for the compositor to be able to send a proper configure event depending on size constraints and any policies it might want to apply (e.g. specific app ID always shows up in a designated workspace). Signed-off-by: Simon Ser --- stable/xdg-shell/xdg-shell.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index bf25b66..1caf6f1 100644 --- a/stable/xdg-shell/xdg-shell.xml +++ b/stable/xdg-shell/xdg-shell.xml @@ -434,7 +434,8 @@ manipulate a buffer prior to the first xdg_surface.configure call must also be treated as errors. - After creating a role-specific object and setting it up, the client must + After creating a role-specific object and setting it up (e.g. by sending + the title, app ID, size constraints, parent, etc), the client must perform an initial commit without any buffer attached. The compositor will reply with initial wl_surface state such as wl_surface.preferred_buffer_scale followed by an xdg_surface.configure