Add support for portals in KRun
Summary: Currently KRun in Flatpak/Snap doesn't support portals so it can't launch an application for a given url (because it can't break through sandbox). This patch allows KRun to use portals to pass the url through sandbox. QDesktopServices::openUrl handles that case and sends appropriate DBus calls to portals, so URIs will be proccessed accordingly by host system. FEATURE: 399380 Test Plan: I couldn't build KIO from master in current flatpak KDE runtime (even without the patch), so here are commands to test the patch on top of KIO 5.54.1: 1. Install org.kde.Sdk 5.12 from flathub 2. Install org.kde.konversation from KDE Nightly flatpak repo (https://community.kde.org/Guidelines_and_HOWTOs/Flatpak) 3. Apply the patch to KIO 5.54.1 4. run 'flatpak run --filesystem=host --command=sh --devel org.kde.Sdk//5.12' to enter SDK 5. build KIO 6. exit SDK (exit or Ctrl+D) 7. run flatpak shell with Konversation 'flatpak run --filesystem=host --command=sh org.kde.konversation' 8. run LD_PRELOAD="path/to/libKF5KIOCore.so path/top/libKF5KIOWidgets.so path/to/libKF5KIOFileWidgets.so" /app/bin/konversation to run it with just compiled KIO (the compiled libraries are located in bin directory inside your build directory) Now link clicks should pass sandbox and do the appropriate actions (open browser for http links, email application for mailto links, file manager for file://...) Reviewers: jgrulich, apol, dfaure, #frameworks Reviewed By: apol Subscribers: ngraham, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D18762
parent
2bba2c07
Please register or sign in to comment