Hey Jan, thanks for the Feedback, that is indeed a good tip, I'll have a look at it. Another question, do I need to activate it or is it available only after a specific version? I'm using Plasma 5.12.8 and it doesn't seem to be available.
Regards, Damir ________________________________ From: kde-devel <kde-devel-boun...@kde.org> on behalf of Jan Grulich <jgrul...@redhat.com> Sent: Sunday, August 23, 2020 14:58 To: kde-devel@kde.org <kde-devel@kde.org> Subject: Re: Using xdg-desktop-portal-kde to take screenshots Hi, you can check how we use it in xdg-portal-test-kde (a simple app to test various portals). The code is here: https://invent.kde.org/libraries/xdg-portal-test-kde/-/blob/master/src/portaltest.cpp#L498 Regards, Jan út 18. 8. 2020 v 12:59 odesílatel Méven <meve...@gmail.com<mailto:meve...@gmail.com>> napsal: Le mar. 18 août 2020 à 12:04, <kde-devel-requ...@kde.org<mailto:kde-devel-requ...@kde.org>> a écrit : Date: Mon, 17 Aug 2020 12:44:35 +0000 From: Damir Porobic <damir_poro...@live.com<mailto:damir_poro...@live.com>> To: "kde-devel@kde.org<mailto:kde-devel@kde.org>" <kde-devel@kde.org<mailto:kde-devel@kde.org>> Subject: Re: Using xdg-desktop-portal-kde to take screenshots Message-ID: <am0pr09mb389099fac1a15b22f0e6d4afe5...@am0pr09mb3890.eurprd09.prod.outlook.com<mailto:am0pr09mb389099fac1a15b22f0e6d4afe5...@am0pr09mb3890.eurprd09.prod.outlook.com>> Content-Type: text/plain; charset="iso-8859-1" Hello, has anyone experience with this portal? Best regards, Damir ________________________________ From: kde-devel <kde-devel-boun...@kde.org<mailto:kde-devel-boun...@kde.org>> on behalf of Damir Porobic <damir_poro...@live.com<mailto:damir_poro...@live.com>> Sent: Thursday, August 13, 2020 16:16 To: kde-devel@kde.org<mailto:kde-devel@kde.org> <kde-devel@kde.org<mailto:kde-devel@kde.org>> Subject: Using xdg-desktop-portal-kde to take screenshots Hello, I'm trying use the xdg-desktop-portal-kde (https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/blob/master/src/screenshot.cpp) portal in order to take screenshots under Wayland. If I understand correctly, making a DBus Call like this should open a Dialog with a Screenshot that can be shared with my application. ********************************* QDBusInterface interface(QStringLiteral("org.freedesktop.portal.Desktop"), QStringLiteral("/org/freedesktop/portal/Screenshot"), QStringLiteral("org.freedesktop.portal.Screenshot")); QDBusPendingReply<QDBusObjectPath> reply; reply = interface.call(QStringLiteral("Screenshot"), "", QVariantMap()); if (reply.isError()) { qCritical("Invalid reply from DBus: %s", qPrintable(reply.error().message())); emit canceled(); } else { qCritical("Dbus success: %s", qPrintable(reply.argumentAt<0>().path())); } ********************************* But the path to the image is not returned in the result from this call. How am I supposed to get the result? Is there any example implementation that uses this portal? In Spectacle I have only seen the solution using org.kde.plasmashell, but not the portal solution. Thanks in advance! Best regards Damir Hi Damir, You need to pass an instance of QVariantMap that will be filled up with a uri field according to the code: auto result = QVariantMap(); reply = interface.call(QStringLiteral("Screenshot"), "", &result); result.value("uri"); But you might be missing parameters also : uint Screenshot(const QDBusObjectPath &handle, const QString &app_id, const QString &parent_window, const QVariantMap &options, QVariantMap &results); Also the file is saved in QStandardPaths::PicturesLocation with a timestamp. Documentation is at https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-org.freedesktop.impl.portal.Screenshot I hope this helps, Kind regards, -- Méven