Server side cursor icons based on action
The current state of D&D in Wayland is not great
- We don't send a leave event to the client, and the client then can update the cursor icon to the appropriate action
This breaks a few clients, it caused issues for Chrome. It is a bit weird that a client has pointer not left, even though it doesn't get pointer events.
- Other compositors do send a leave, but then have clients update the drag icon
This also makes no sense at all, if the compositor has the grab, it should be in charge of the cursor. It breaks all toolkits that use cursor_shape protocol (Qt!) which is why we don't do it.
This is an attempt to fix both problems by sending the leave to clients, and whilst the compositor has a grab have the compositor being in charge of the cursor - similar to when we perform an interactive resize.
Edited by David Edmundson