Update protocol for xdg-shell stable to version 2

This is just the protocol, it doesn't implement any new interfaces or behavior.

Also update the project url, xdg-shell is now part of wayland-protocols, not
Weston.

Change-Id: I719cc99fc2c59af9abfc0c9abcb9c1daf9b43c74
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
This commit is contained in:
Johan Klokkhammer Helsing 2020-01-09 09:32:41 +01:00
parent ece34c57f8
commit 03414a616b
2 changed files with 66 additions and 36 deletions

View File

@ -166,16 +166,19 @@ Copyright 2015-2016 © Red Hat, Inc."
"Files": " xdg-shell-unstable-v5.xml xdg-shell-unstable-v6.xml xdg-shell.xml ../../compositor/extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5.cpp ../../compositor/extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5_p.h ../../compositor/extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c ../../compositor/extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-server-protocol_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5.cpp ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-client-protocol_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c", "Files": " xdg-shell-unstable-v5.xml xdg-shell-unstable-v6.xml xdg-shell.xml ../../compositor/extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5.cpp ../../compositor/extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5_p.h ../../compositor/extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c ../../compositor/extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-server-protocol_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5.cpp ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-client-protocol_p.h ../../plugins/shellintegration/xdg-shell-v5/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c",
"Description": "The XDG-Shell protocol is an extended way to manage surfaces under Wayland compositors.", "Description": "The XDG-Shell protocol is an extended way to manage surfaces under Wayland compositors.",
"Homepage": "https://wayland.freedesktop.org", "Homepage": "https://gitlab.freedesktop.org/wayland/wayland-protocols/",
"Version": "1.9.0", "Version": "1.18",
"DownloadLocation": "https://cgit.freedesktop.org/wayland/weston/tag/?id=1.9.0", "DownloadLocation": "https://gitlab.freedesktop.org/wayland/wayland-protocols/tree/1.18/",
"LicenseId": "MIT", "LicenseId": "MIT",
"License": "MIT License", "License": "MIT License",
"LicenseFile": "MIT_LICENSE.txt", "LicenseFile": "MIT_LICENSE.txt",
"Copyright": "Copyright © 2008-2013 Kristian Høgsberg "Copyright": "Copyright © 2008-2013 Kristian Høgsberg
Copyright © 2013 Rafael Antognolli Copyright © 2013 Rafael Antognolli
Copyright © 2013 Jasper St. Pierre Copyright © 2013 Jasper St. Pierre
Copyright © 2010-2013 Intel Corporation" Copyright © 2010-2013 Intel Corporation
Copyright © 2015-2017 Samsung Electronics Co., Ltd
Copyright © 2015-2017 Red Hat Inc.
"
}, },
{ {

View File

@ -29,7 +29,7 @@
DEALINGS IN THE SOFTWARE. DEALINGS IN THE SOFTWARE.
</copyright> </copyright>
<interface name="xdg_wm_base" version="1"> <interface name="xdg_wm_base" version="2">
<description summary="create desktop-style surfaces"> <description summary="create desktop-style surfaces">
The xdg_wm_base interface is exposed as a global object enabling clients The xdg_wm_base interface is exposed as a global object enabling clients
to turn their wl_surfaces into windows in a desktop environment. It to turn their wl_surfaces into windows in a desktop environment. It
@ -101,7 +101,7 @@
<description summary="check if the client is alive"> <description summary="check if the client is alive">
The ping event asks the client if it's still alive. Pass the The ping event asks the client if it's still alive. Pass the
serial specified in the event back to the compositor by sending serial specified in the event back to the compositor by sending
a "pong" request back with the specified serial. See xdg_wm_base.ping. a "pong" request back with the specified serial. See xdg_wm_base.pong.
Compositors can use this to determine if the client is still Compositors can use this to determine if the client is still
alive. It's unspecified what will happen if the client doesn't alive. It's unspecified what will happen if the client doesn't
@ -115,7 +115,7 @@
</event> </event>
</interface> </interface>
<interface name="xdg_positioner" version="1"> <interface name="xdg_positioner" version="2">
<description summary="child surface positioner"> <description summary="child surface positioner">
The xdg_positioner provides a collection of rules for the placement of a The xdg_positioner provides a collection of rules for the placement of a
child surface relative to a parent surface. Rules can be defined to ensure child surface relative to a parent surface. Rules can be defined to ensure
@ -359,7 +359,7 @@
</request> </request>
</interface> </interface>
<interface name="xdg_surface" version="1"> <interface name="xdg_surface" version="2">
<description summary="desktop user interface surface base interface"> <description summary="desktop user interface surface base interface">
An interface that may be implemented by a wl_surface, for An interface that may be implemented by a wl_surface, for
implementations that provide a desktop-style user interface. implementations that provide a desktop-style user interface.
@ -528,7 +528,7 @@
</event> </event>
</interface> </interface>
<interface name="xdg_toplevel" version="1"> <interface name="xdg_toplevel" version="2">
<description summary="toplevel surface"> <description summary="toplevel surface">
This interface defines an xdg_surface role which allows a surface to, This interface defines an xdg_surface role which allows a surface to,
among other things, set window-like properties such as maximize, among other things, set window-like properties such as maximize,
@ -604,6 +604,9 @@
For example, "org.freedesktop.FooViewer" where the .desktop file is For example, "org.freedesktop.FooViewer" where the .desktop file is
"org.freedesktop.FooViewer.desktop". "org.freedesktop.FooViewer.desktop".
Like other properties, a set_app_id request can be sent after the
xdg_toplevel has been mapped to update the property.
See the desktop-entry specification [0] for more details on See the desktop-entry specification [0] for more details on
application identifiers and how they relate to well-known D-Bus application identifiers and how they relate to well-known D-Bus
names and .desktop files. names and .desktop files.
@ -724,6 +727,9 @@
<description summary="the surface is maximized"> <description summary="the surface is maximized">
The surface is maximized. The window geometry specified in the configure The surface is maximized. The window geometry specified in the configure
event must be obeyed by the client. event must be obeyed by the client.
The client should draw without shadow or other
decoration outside of the window geometry.
</description> </description>
</entry> </entry>
<entry name="fullscreen" value="2" summary="the surface is fullscreen"> <entry name="fullscreen" value="2" summary="the surface is fullscreen">
@ -750,6 +756,30 @@
keyboard or pointer focus. keyboard or pointer focus.
</description> </description>
</entry> </entry>
<entry name="tiled_left" value="5" since="2">
<description summary="the surface is tiled">
The window is currently in a tiled layout and the left edge is
considered to be adjacent to another part of the tiling grid.
</description>
</entry>
<entry name="tiled_right" value="6" since="2">
<description summary="the surface is tiled">
The window is currently in a tiled layout and the right edge is
considered to be adjacent to another part of the tiling grid.
</description>
</entry>
<entry name="tiled_top" value="7" since="2">
<description summary="the surface is tiled">
The window is currently in a tiled layout and the top edge is
considered to be adjacent to another part of the tiling grid.
</description>
</entry>
<entry name="tiled_bottom" value="8" since="2">
<description summary="the surface is tiled">
The window is currently in a tiled layout and the bottom edge is
considered to be adjacent to another part of the tiling grid.
</description>
</entry>
</enum> </enum>
<request name="set_max_size"> <request name="set_max_size">
@ -839,12 +869,11 @@
Maximize the surface. Maximize the surface.
After requesting that the surface should be maximized, the compositor After requesting that the surface should be maximized, the compositor
will respond by emitting a configure event with the "maximized" state will respond by emitting a configure event. Whether this configure
and the required window geometry. The client should then update its actually sets the window maximized is subject to compositor policies.
content, drawing it in a maximized state, i.e. without shadow or other The client must then update its content, drawing in the configured
decoration outside of the window geometry. The client must also state. The client must also acknowledge the configure when committing
acknowledge the configure when committing the new content (see the new content (see ack_configure).
ack_configure).
It is up to the compositor to decide how and where to maximize the It is up to the compositor to decide how and where to maximize the
surface, for example which output and what region of the screen should surface, for example which output and what region of the screen should
@ -854,8 +883,8 @@
a configure event with the "maximized" state. a configure event with the "maximized" state.
If the surface is in a fullscreen state, this request has no direct If the surface is in a fullscreen state, this request has no direct
effect. It will alter the state the surface is returned to when effect. It may alter the state the surface is returned to when
unmaximized if not overridden by the compositor. unmaximized unless overridden by the compositor.
</description> </description>
</request> </request>
@ -864,13 +893,13 @@
Unmaximize the surface. Unmaximize the surface.
After requesting that the surface should be unmaximized, the compositor After requesting that the surface should be unmaximized, the compositor
will respond by emitting a configure event without the "maximized" will respond by emitting a configure event. Whether this actually
state. If available, the compositor will include the window geometry un-maximizes the window is subject to compositor policies.
dimensions the window had prior to being maximized in the configure If available and applicable, the compositor will include the window
event. The client must then update its content, drawing it in a geometry dimensions the window had prior to being maximized in the
regular state, i.e. potentially with shadow, etc. The client must also configure event. The client must then update its content, drawing it in
acknowledge the configure when committing the new content (see the configured state. The client must also acknowledge the configure
ack_configure). when committing the new content (see ack_configure).
It is up to the compositor to position the surface after it was It is up to the compositor to position the surface after it was
unmaximized; usually the position the surface had before maximizing, if unmaximized; usually the position the surface had before maximizing, if
@ -880,8 +909,8 @@
emit a configure event without the "maximized" state. emit a configure event without the "maximized" state.
If the surface is in a fullscreen state, this request has no direct If the surface is in a fullscreen state, this request has no direct
effect. It will alter the state the surface is returned to when effect. It may alter the state the surface is returned to when
unmaximized if not overridden by the compositor. unmaximized unless overridden by the compositor.
</description> </description>
</request> </request>
@ -890,10 +919,10 @@
Make the surface fullscreen. Make the surface fullscreen.
After requesting that the surface should be fullscreened, the After requesting that the surface should be fullscreened, the
compositor will respond by emitting a configure event with the compositor will respond by emitting a configure event. Whether the
"fullscreen" state and the fullscreen window geometry. The client must client is actually put into a fullscreen state is subject to compositor
also acknowledge the configure when committing the new content (see policies. The client must also acknowledge the configure when
ack_configure). committing the new content (see ack_configure).
The output passed by the request indicates the client's preference as The output passed by the request indicates the client's preference as
to which display it should be set fullscreen on. If this value is NULL, to which display it should be set fullscreen on. If this value is NULL,
@ -919,8 +948,9 @@
Make the surface no longer fullscreen. Make the surface no longer fullscreen.
After requesting that the surface should be unfullscreened, the After requesting that the surface should be unfullscreened, the
compositor will respond by emitting a configure event without the compositor will respond by emitting a configure event.
"fullscreen" state. Whether this actually removes the fullscreen state of the client is
subject to compositor policies.
Making a surface unfullscreen sets states for the surface based on the following: Making a surface unfullscreen sets states for the surface based on the following:
* the state(s) it may have had before becoming fullscreen * the state(s) it may have had before becoming fullscreen
@ -989,7 +1019,7 @@
</event> </event>
</interface> </interface>
<interface name="xdg_popup" version="1"> <interface name="xdg_popup" version="2">
<description summary="short-lived, popup surfaces for menus"> <description summary="short-lived, popup surfaces for menus">
A popup surface is a short-lived, temporary surface. It can be used to A popup surface is a short-lived, temporary surface. It can be used to
implement for example menus, popovers, tooltips and other similar user implement for example menus, popovers, tooltips and other similar user
@ -1007,9 +1037,6 @@
surface of their own is clicked should dismiss the popup using the destroy surface of their own is clicked should dismiss the popup using the destroy
request. request.
The parent surface must have either the xdg_toplevel or xdg_popup surface
role.
A newly created xdg_popup will be stacked on top of all previously created A newly created xdg_popup will be stacked on top of all previously created
xdg_popup surfaces associated with the same xdg_toplevel. xdg_popup surfaces associated with the same xdg_toplevel.