Which protocols to use supported by Mutter?

Which protocols should I use that are widely supported by other compositors to make a magnifier? This is a zooming application that uses wlr_layer_shell and wlr_screencopy_manager? I need a protocol that captures the screen and displays it over?

Is it possible to request a compositor to it’s output? And what about output of certain surfaces combined?

You can check all protocols and which compositor supports it via Wayland Protocol Documentation | Wayland Explorer

I’ve been using that website to check various protocols. Sadly, I can’t find a protocol with similar functionality as those above mentioned and being supported by mutter.

Should I dig up how screen capture (edit: and screen shot) works on GNOME? I tried peeking in the source code. The author was using gdk library.

Screen capture is done via PipeWire & portals, not via Wayland.

I see thanks! That sure explains how screen recording works. However, I don’t think that will work for zooming application.

Tsoding’s boomer worked taking screenshot, displaying it over and zooming it. (Which is my primary aim to implement.) There is another way, directly zoom the output of compositor.

I think the solution lies either examining the source code of zooming in accessibility or/and screen capture or screen shot application (whatever it is called)