[PATCH wayland-protocols v2 02/13] xdg-shell: Rename interfaces

Philipp Kerling pkerling at casix.org
Fri Jun 30 07:56:57 UTC 2017


Am Freitag, den 30.06.2017, 15:42 +0800 schrieb Jonas Ådahl:
> On Fri, Jun 30, 2017 at 08:48:58AM +0200, Philipp Kerling wrote:
> > Hi,
> > 
> > Am Freitag, den 30.06.2017, 13:50 +0800 schrieb Jonas Ådahl:
> > > Rename the interfaces according to the wayland-protocols policy.
> > > Since
> > > the name 'xdg_shell' as an interface was already taken (by
> > > xdg-shell-unstable-v5) zxdg_shell_v6 was renamed xdg_wm_base. The
> > > surface role related interfaces were not renamed, as naming
> > > collision
> > > is only unmanagable when exposed as globals via the registry.
> > 
> > What about clients that want to support both xdg_shell (unstable
> > v5)
> > and xdg_wm_base? Won't they have a problem with
> >    A. clashing type/function/macro names in the header files
> > generated by
> >       wayland-scanner, at least when they are including both
> > headers in
> >       one file?
> >    B. clashing interface global names (e.g.
> > "xdg_toplevel_interface") at
> >       link time even when they do not include both headers at the
> > same
> >       time?
> 
> Right. This means you can't have xdg_shell_unstable_v5 at the same
> time
> as xdg_wm_base, without messing around avoiding compiling and linking
> issues.
> 
> Personally I'd rather not support v5 instead of coming up with new
> names
> for everything; it *is* (was) an unstable protocol version and it has
> always been expected that support for it will be removed.
Yes I know, but the situation is that this particular unstable protocol
practically had to be implemented to have a somewhat usable desktop
experience due to the shortcomings of wl_shell.

> Do you know of
> any client out in the wild that still only supports xdg_shell
> unstable
> v5?
I was thinking more of e.g. Qt (or any other toolkit) that supports
wl_shell, xdg_shell unstable v5 and v6 (albeit to a wildly differing
extent sadly) and would now have to drop unstable v5 in order to
support xdg_wm_base. Also, I think both KWin and Qt did only support
unstable v5 until very recently. wl_shell is always available as
fallback though.
Do note that I am not personally opposed to saying that that's the way
it is going to be, I just wanted to point this out since the commit
message was a bit brief on the implications of keeping the interface
names. If you have considered this and decided that people will have to
drop v5 support (compositors as well as clients I presume) if they had
it before, everything is fine by me.

- Philipp


More information about the wayland-devel mailing list