From ebfe526b4aea0b36399b65eb6117a62acce8e988 Mon Sep 17 00:00:00 2001 From: Emma MB Date: Tue, 8 Oct 2024 13:09:21 -0700 Subject: [PATCH] xdg-decoration: add notched server side decorations Signed-off-by: Emma MB --- .../xdg-decoration-unstable-v1.xml | 97 ++++++++++++++++++- 1 file changed, 93 insertions(+), 4 deletions(-) diff --git a/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml b/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml index 82ca247..85b70b4 100644 --- a/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml +++ b/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml @@ -2,6 +2,7 @@ Copyright © 2018 Simon Ser + Copyright © 2024 Emma MB Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -23,7 +24,7 @@ DEALINGS IN THE SOFTWARE. - + This interface allows a compositor to announce support for server-side decorations. @@ -71,7 +72,7 @@ - + The decoration object allows the compositor to toggle server-side window decorations for a toplevel surface. The client can request to switch to @@ -89,6 +90,8 @@ + + @@ -106,6 +109,8 @@ summary="no server-side window decoration"/> + @@ -119,8 +124,9 @@ server-side decorations. The client must also acknowledge the configure when committing the new content (see xdg_surface.ack_configure). - The compositor can decide not to use the client's mode and enforce a - different mode instead. + The compositor may decide not to use the client's mode and enforce a + different mode instead. Compositors must not use notch_server_side + unless the client has requested it. Clients whose decoration mode depend on the xdg_toplevel state may send a set_mode request in response to an xdg_surface.configure event and wait @@ -144,6 +150,49 @@ + + + These values describe the edge of a window. + + + + + + + + + + Set the decoration prefered size. This informs the compositor that + the client prefers the provided size of decorations on the provided edge + of the window. + + If the client does not wish to visually integrate with the decorations on + a particular edge of the window, it may set the size to 0. If the padding + on a particular edge is set to 0, the compositor should not overlay + decorations that are intended to integrate with that edge of the window. + + The compositor may decide to not use the clients prefered decoration + size and use a different size instead. + + Clients must only send this request in notch_server_side mode. + + If an invalid edge is provided by the client, the invalid_edge protocol + error is raised by the compositor. + + + + + + + + Unset the prefered padding. This informs the compositor that the client + doesn't have a prefered padding size on the provided edge of the window. + + This request has the same semantics as notch_set_padding + + + + The configure event configures the effective decoration mode. The @@ -156,5 +205,45 @@ + + + + These values describe the corners and edges of a window. + + + + + + + + + + + + + + + The configure decoration event configures the size and position of + notched server size decorations. The configured state should + not be applied immediately. Clients must send an ack_configure in + response to this event. See xdg_surface.configure and + xdg_surface.ack_configure for details. + + A configure decoration event can be sent at any time while in + notch_server_side mode. + + Clients should create visually empty space in the area of a notched + decoration. Clients should treat the values as already having all the + visual padding needed for the decorations to appear centered. + + Compositors may use more than 1 position for decorations. Compositors + may remove decorations by setting the width and height to 0. + Compositors must not include a decoration if the decoration will not be + overlayed onto the client. + + + + +