[PATCH wayland-protocols v2 02/13] xdg-shell: Rename interfaces
Jonas Ådahl
jadahl at gmail.com
Fri Jun 30 08:17:37 UTC 2017
On Fri, Jun 30, 2017 at 09:56:57AM +0200, Philipp Kerling wrote:
> 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.
I see.
> 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.
The compatibility issues raised in the commit message is about clients
discovering what a compositor supports, rather then what a compositor
can implement without too much trouble. FWIW, an alternative if is too
much of an issue is to add support to wayland-scanner to add a custom
prefix/postfix to symbols, so we can have the unstable v5 symbols not
look like stable ones.
It's a valid issue to raise though and should be properly documented
some how, I had not considered the linking issues.
Jonas
>
> - Philipp
More information about the wayland-devel
mailing list