How am I supposed to implement advanced functionalities in Wayland? I have been hearing a lot of fuss about Wayland these days. According to me, Wayland is definitely better and more efficient as compared to X. But, there are a few advanced functionalities which many people need, such as:

* Accessing the contents of the screen for screenshot, screenrecord, colour picker apps, etc.
* Getting and setting the absolute cursor location
* Simulating input events globally
* Intercepting input events globally

Of course, applications must ask permission from the user in order to access these functionalities.

But, currently, there are no such standard protocols in Wayland. So, I want to ask, how am I supposed to get these functionalities to work under Wayland? If I want to write a Wayland compositor, do I need to provide these functionalities as an API?