new xwayland protocol

Pekka Paalanen ppaalanen at gmail.com
Thu Sep 13 23:40:06 PDT 2012


On Thu, 13 Sep 2012 11:27:50 -0700
Bill Spitzak <spitzak at gmail.com> wrote:

> Tiago Vignatti wrote:
> 
> > It features ... forwarding global coordinates to X
> 
> I don't like the idea that X clients are "privileged" to get this 
> information, while real Wayland clients can't get it.

X is special. X clients expect run under an X server like they always
have. This means they need some form of global coordinates. These
coordinates could be faked, too, in case the geometry of the Wayland
server is not rectangular. In that case, X would probably need a
(virtual) root window, that solves all global coordinate problems. The
same for Wine, I guess.

I rephrase: X clients are not "privileged". They are X clients, not
Wayland clients.

> What is going to happen is Wayland clients are going to use the X api 
> just to get this information.

No, that is impossible. There is no way for a client to associate a
surface or coordinates from the X API to any objects in the Wayland
API. Clients in Wayland are isolated, and the xwm and the xwayland
server are other Wayland clients, hence they are isolated from the app
in the Wayland protocol. If apps use X API, they fully become X clients.

If you are worried that any Wayland client would be able to use the
interfaces reserved for the xwm or xwayland, I'm sure we can deny that
and produce protocol errors, if anyone attempted it.

> I can tell you right now that our own 
> software is not going to be usable unless we can save window layouts, 

Saving layouts will be solved differently than in X.

> and we are interested in portability to Windows and OS/X where the way 
> to place windows on various outputs is to use the coordinates, not an id 
> for the output.

I don't understand what you mean by portability here. You cannot run an
X app in Windows without an X server, either.

> My recommendation is to give up on useless "purity" and make Wayland 
> clients be able to get and set the exact x/y coordinates of their surfaces.

Apparently you have forgot all about, say, dome projectors or virtual
displays, where the output is a half sphere. Good luck mapping Cartesian
global coordinates there in any meaningful way.

I'm not making virtual displays up, btw. I have been explaining Wayland
to someone who is researching just that.


Thanks,
pq


More information about the wayland-devel mailing list