elementary / triage

Catch-all repo for issues that don't have a better home
https://elementary.io
4 stars 2 forks source link

Global Portal support #45

Open tintou opened 3 years ago

tintou commented 3 years ago

Here is an overview of the portal support :

All the portals are implemented by the xdg-desktop-portal-gtk that we are using. We can override some of them for the Pantheon session.

Already overridden:

Requires discussion:

No need:

New possible portals:

cassidyjames commented 3 years ago

@tintou thanks for writing this up! Where would be the appropriate place to file issues re: providing portals? On the relevant apps that would provide the UI, like Screenshot for the screenshot portal, Files for the file portal, Camera for the camera portal, etc.?

Marukesu commented 3 years ago

Two questions.

org.freedesktop.portal.Settings — Settings interface

Aren't we going to need it for the prefer-dark gsetting? I think we would want some others keys available to the sandbox too.

io.elementary.portal.Contractor — Portal for getting contracts and using them

Won't contractors work better as runtime extensions?

danirabbit commented 3 years ago

So there was some discussion about extending the desktop file spec to include actions which have a mediatype argument. It sounded like generally our FD.o friends would accept it, we just need to do the implementation. I think that is probably a better way to replace contractor

Marukesu commented 3 years ago

So there was some discussion about extending the desktop file spec to include actions which have a mediatype argument. It sounded like generally our FD.o friends would accept it, we just need to do the implementation. I think that is probably a better way to replace contractor

seeing the contracts that come installed by elementary. both set-wallpaper and io.elementary.print can be functions on Granite using the Wallpaper and Print portals.

The Wallpaper portal works with non sandboxed apps too, so we can simply call the portal anyway. while Gtk.PrintOperation already implements the Print portal so we need only to copy the code used by the contract to Granite. The Email portal can be used to replace the old mail-attach contract too.

The others would need a some sort of share portal though.

Also, the issue is listing the frontends interfaces but should be listing the backend interfaces instead.