Works as follows:
- Connect with a DBus interface similar to Screenshot
- instead of a FD to a save location, clients pass a socket to their
own very very minimal wayland server (with a compositor and shmpool)
- kwin then connects to that as a client with a wl_surface of the
rendered area, with each frame as a buffer.
This patch contains the relevant effect and a small test app.
Design Rationale:
- We need the recorder to have a shared memory pool, and only it knows
when it's finished rendering it. The recorder being the "compositor"
provides that
- Kwin acting as the "client" could easily cover a VNC like case in
future, albeit with some shuffling.
- Using an existing wayland iface means this could become a standard
Obviously not entirely finished, see TODOs in comments, and we probably
want to include the region selection like Screenshot.
Was writing something to dump frames from kwin, was a good excuse to work
on something useful.