Make xdg-desktop-portal-kde part of Plasma release
Jan Grulich
jgrulich at redhat.com
Thu Apr 20 09:39:26 UTC 2017
On středa 19. dubna 2017 14:32:46 CEST Jonathan Riddell wrote:
> On 19 April 2017 at 13:08, Jan Grulich <jgrulich at redhat.com> wrote:
> > I would like to request/discuss inclusion of xdg-desktop-portal-kde [1]
> > into Plasma to have it released with Plasma 5.10 and so on.
> >
> > What is xdg-desktop-portal-kde:
> > It's a KDE implementation of Flatpak portals backend [2], currently with
> > support of AppChooser, FileChooser, Notification and Print portals.
> >
> > How it works:
> > An app running in sandbox communicates with outside world using
> > org.freedesktop.portal.Foo interfaces (each of them is one portal). These
> > interfaces are registered by xdg-desktop-portal (on DBus as
> > org.freedesktop.portal.Desktop service). This requires support in library
> > to make widgets etc. do calls to o.f.p.Foo interfaces instead of doing
> > what they usually do. This is already implemented in KNotifications and
> > for Qt part we have flatpak platform plugin. Then xdg-desktop-portal
> > calls desktop specific implementations to present native dialogs and have
> > proper integration. That's where xdg-desktop-portal-kde takes place. It
> > exposes it's implementation on DBus as
> > org.freedesktop.impl.portal.desktop.kde service. Then in case of KDE when
> > user requests a file dialog from a sandboxed application, Qt platform
> > plugin does a dbus call to xdg-desktop-portal instead of showing a dialog
> > and xdg-desktop-portal forwards this to our backend implementation and we
> > show a native dialog to the user, this time this dialog is not running in
> > sandbox and user can open a file which is outside the sandboxed
> > application. Same way it works with opening URLs, notifications etc.
>
> Works for me, please put it through the kdereview process
>
> I see that it includes a private header from QtPrintSupport, I'm
> against doing this as it breaks any ABI assumptions.
I posted it for review on kde-devel mailing list in case you are interested. I
also mentioned the problem with private headers. I will look into that and try
to extend my test application to simulate the print portal to see whether the
private header is actually needed, but for some properties (CUPS related) I
couldn't find another way how to set them to a printer without using private
API.
Jan
More information about the Plasma-devel
mailing list