Nice thing is that pipewire supports gstreamer, so in theory you could use a gstreamer pipeline to capture the screen into the file. In practice I was not yet able to figure it out :) Something like this is supposed to work:
gst-launch-1.0 pipewiresrc name=pipewiresrc path=10 ! videoconvert ! ximagesink
Not sure about the path, I could not get pipewire to list my screen.
For use inside Flatpak: https://github.com/flatpak/xdg-desktop-portal/pull/122
looks like this would be the solution for fedora >= 33 ?
looks like this would be the solution for fedora >= 33 ?
I am not sure actually, depends on the interface GNOME now provides. The last time I checked it all moved into the direction where you can ask the DE to record the screen. The DE then let's you select a screen area and do the recording. That does not really fit with the UI of Peek, where you stage the recording area by moving the window in position. That requires that the application can specify the area to record.
If it is actually possible to request the exact location then this would work. It does not remove the limitation that you still need to run Peek on XWayland, though, because on pure wayland the client does not get it's actual screen coordinates :(
To be honest I see little future for the current user interface in a Wayland world. And at that point I kind of loose interest, because Peek was always about this very UI for recording small screen casts of partial UI. That's what I wanted to use and what I made it for. This obstacle is also part of the reason for the low updates on the tool (the other being me being low on time).
One way to rescue Peek over would be to reimagine its UI. Maybe turn it into a recording toolbar only, not tied to the recording area.
Anyway, I should still look at what current GNOME is doing. I have no GNOME 3.38 install yet.
Update: Actually things are not so bleak after all :)
The new interface is at https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml
It is pipewire stream based, but it allows for selection of the area to record. So that's good. The interface is marked for private use and could break between releases. But meh, we need to use what we get here.
Most helpful comment
Update: Actually things are not so bleak after all :)
The new interface is at https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml
It is pipewire stream based, but it allows for selection of the area to record. So that's good. The interface is marked for private use and could break between releases. But meh, we need to use what we get here.