[PATCH wayland] protocol: Add deprecation note about wl_shell
Nils Chr. Brause
nilschrbrause at gmail.com
Mon Dec 4 09:18:21 UTC 2017
On 4 December 2017 at 09:16, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Sat, 2 Dec 2017 10:57:45 +0800
> Jonas Ådahl <jadahl at gmail.com> wrote:
>> Now that xdg_shell is stable and much better defined than wl_shell we
>> can finally deprecate wl_shell and guide users towards xdg_shell
>> Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
> Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>> Eventually we can consider adding deprecation attributes the
>> <interface> XML nodes that'll turn into compiler warnings, but this is
>> at least a start moving away from wl_shell. I imagine the wl_shell users
>> today (SDL, GLFW at least) to hopefully migrate soon, but keep the
>> wl_shell as a fallback for the time being while compositors add support
>> for xdg_shell. So we probably don't want to add compiler warnings for
>> them just yet.
I really like the idea of a deprecation attribute. The C++ bindings
would use it to add the [[deprecated("reason")]] attribute specifier
sequences to interface classes, event callbacks and request methods.
The value of the XML attribute could be what to use instead, e.g:
<interface name="wl_shell" version="1" deprecated="xdg_wm_base">
This value could be used in the C++ bindings as the "reason" argument.
> I would imagine compositors wanting to keep the support for a long
> time, so maybe the warnings would be just in the client header?
Yes, of course, this would be client only.
> OTOH, ISTR problems with having deprecation warnings in
> system-installed headers, compilers ignoring them...
I don't know about gcc, but g++ certainly doesn't ignore the
[[deprecated]] attribute on headers in /usr/include. I just tested
this with g++ 7.2.
>> protocol/wayland.xml | 3 +++
>> 1 file changed, 3 insertions(+)
>> diff --git a/protocol/wayland.xml b/protocol/wayland.xml
>> index aabc7ae..77d991e 100644
>> --- a/protocol/wayland.xml
>> +++ b/protocol/wayland.xml
>> @@ -976,6 +976,9 @@
>> It allows clients to associate a wl_shell_surface with
>> a basic surface.
>> + Note! This protocol is deprecated and not intended for production use.
>> + For desktop-style user interfaces, use xdg_shell.
>> <enum name="error">
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
More information about the wayland-devel