Repository navigation
feat: add normal role to dde-shell surface role enum #119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -71,9 +71,10 @@ SPDX-License-Identifier: MIT | |||||||||
| <interface name="treeland_dde_shell_surface_v2" version="1"> | ||||||||||
| <description summary="shell surface role"> | ||||||||||
| A shell surface object assigns the DDE shell surface role to a | ||||||||||
| wl_surface. A shell surface renders below the wlr-layer-shell | ||||||||||
| layer stack, at the overlay level of the workspace: above | ||||||||||
| normal toplevel windows but below layer-shell surfaces. | ||||||||||
| wl_surface. A shell surface renders either at the overlay level | ||||||||||
| of the workspace (above normal toplevel windows but below | ||||||||||
| layer-shell surfaces) or at the normal window layer, as | ||||||||||
| selected by the set_role request. The default role is overlay. | ||||||||||
|
|
||||||||||
| The role carries no requests that map, commit, or configure | ||||||||||
| buffer state; the client commits buffers with wl_surface | ||||||||||
|
|
@@ -102,7 +103,8 @@ SPDX-License-Identifier: MIT | |||||||||
| z depth. Multiple surfaces can share a single role, and | ||||||||||
| ordering within a single role is undefined. | ||||||||||
| </description> | ||||||||||
| <entry name="overlay" value="0" summary="workspace overlay layer, above normal toplevels and below layer-shell surfaces" /> | ||||||||||
| <entry name="normal" value="0" summary="normal window layer, below the overlay layer and participating in regular toplevel stacking" /> | ||||||||||
| <entry name="overlay" value="1" summary="workspace overlay layer, above normal toplevels and below layer-shell surfaces" /> | ||||||||||
|
Comment on lines
+106
to
+107
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. issue (broader_impact): The v2 wire value for Triggers: When an already-deployed v2 client explicitly sets the overlay role using the previous generated header or a literal value of 0. Suggested fix: Preserve the existing v2
Suggested change
|
||||||||||
| </enum> | ||||||||||
|
|
||||||||||
| <enum name="skip_flag" bitfield="true"> | ||||||||||
|
|
@@ -135,6 +137,10 @@ SPDX-License-Identifier: MIT | |||||||||
| Assign the role identified by the role enum to this shell | ||||||||||
| surface, selecting the layer it renders in. The default | ||||||||||
| role before this request is overlay. | ||||||||||
|
|
||||||||||
| Assigning the normal role returns the surface to the | ||||||||||
| regular window layer, participating in normal toplevel | ||||||||||
| stacking again. | ||||||||||
| </description> | ||||||||||
| <arg name="role" type="uint" enum="role" summary="the rendering layer for this surface" /> | ||||||||||
| </request> | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue: The protocol-level description at the top of the XML still says every shell surface renders below the layer-shell stack at the workspace overlay level, so the generated protocol documentation contradicts the changed interface description that permits the
normalwindow layer and does not document the new behavior in the protocol purpose.Triggers: When consumers or maintainers rely on the protocol-level description rather than the interface-specific description.
Suggested fix: Update the top-level protocol description to state that a shell surface can render either at the overlay level or at the normal window layer, with overlay as the default.