E20 releases are gearing up, so it seems like a good time to talk about the state of Wayland compositor-ing that is going into this release. First, let’s talk features:
XDG-Shell: Fully supported; window geometry (CSD) accurately used for window placement/positioning/resistance.
XWayland: Fully supported; any issues that I am currently aware of are only fixable through upstream XWayland changes.
Multi-monitor: Fully supported; this has not undergone testing as extensive as the X11 RandR code, but it has worked for the scenarios that I’ve examined.
Key/Mouse/Edge Bindings: Fully supported.
There’s probably some things I’m missing, but that’s the basics. So now the question that everyone wants answers about: what’s missing? For things that the average user will care about, not much.
EFM DnD: Not currently implemented. My choices were to either fully NIH the EFL internal implementation in order to support nested compositors, or to use the EFL implementation and not have nested compositing support–but then later have to go back and NIH it anyway.
No window close animations: This requires implementing the recently-added SHM pool refcounting feature from upstream Wayland in order to avoid crashing randomly.
Restarting Enlightenment kills all applications: There’s a lot of work required, both in upstream Wayland and locally in EFL/Enlightenment, to make applications persist through restarts.
XWayland clients do not smoothly resize: This seems to be an issue in XWayland.
Keyboard layout support NYI: There’s no “standard” method for doing this in Wayland yet AFAIK, so it will either require more NIH work to do this in the compositor or some spec changes in Wayland/*shell to dictate how this should be handled.
That sums up most of the details that people have been asking about. I’ll try to answer questions in the comments section and/or follow up with additional posts as necessary.