GeeXT created this revision. GeeXT added a reviewer: jgrulich. Herald added a project: Frameworks. Herald added a subscriber: kde-frameworks-devel. GeeXT requested review of this revision.
REVISION 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://...) REPOSITORY R241 KIO BRANCH flatpak_open_url (branched from master) REVISION DETAIL https://phabricator.kde.org/D18762 AFFECTED FILES src/widgets/krun.cpp To: GeeXT, jgrulich Cc: kde-frameworks-devel, michaelh, ngraham, bruns