pop-os / xdg-desktop-portal-cosmic

GNU General Public License v3.0
35 stars 30 forks source link

XDG Portals GUI Implementation for Screenshots/Screen Sharing #48

Closed maria-komarova closed 2 weeks ago

maria-komarova commented 2 years ago

XDG Desktop Portal UI is a modal (by default) that's initiated when an application request access to resources it doesn't have. For instance, Wayland applications can't view content outside of their window, therefore, this modal offers a screenshot app access to capture other windows or the entire screen.

There are four scenarios:

Allow to take a screenshot Allow to share a window Allow to share a display Allow to display either a window or display (common for video conference apps)

WatchMkr commented 2 years ago

Image Image Image Image Image

Drakulix commented 5 months ago

Note: Our protocol theoretically also allows us to share a Workspace. Not sure, if we want to expose that in the portal GUI or not.

The functionality is mainly exists for cosmic-workspaces and other "workspace-preview"-like functions, but could just as easily be included. I have no idea, if there is any demand for this.

maria-komarova commented 5 months ago

XDG Desktop Portal Link to Figma.

Sethox commented 4 months ago

Note: Our protocol theoretically also allows us to share a Workspace. Not sure, if we want to expose that in the portal GUI or not.

The functionality is mainly exists for cosmic-workspaces and other "workspace-preview"-like functions, but could just as easily be included. I have no idea, if there is any demand for this.

Is it possible to let the user to configure it by themselves but off by default, not case-by-case (per application). The only reason I can see why people would want case-by-case are streamers and/or video recording (among others) users. They would want to save the type of workflow they have so the application doesn't ask each and every time by the application (if the application crashes or what not).

I can see a certain path to deal with this, one example could be to ask once per desktop/login session and remember the choice of what the application is allowed to grab. The problem I see here if the user wants to change the permission once again after the fact. An applet to change this type of permission that lists of permissions granted by the user is an option for such cases, this applet can also be expanded to add applications acknowledged by the system before starting said application.