File pickers and home interface

I don’t think there is a good answer at the moment.

If you use classic confinement, then your snap should see the real value of $HOME. But this has the downside of requiring the user to pass extra flags to snap install, and requires a bit more care to make the snap distro version independent.

I have been looking into using getting xdg-desktop-portal working with snaps, and while I got a proof of concept demo working it is far from ready for deployment. Under this model, things would behave a bit differently:

  • you would no longer have to connect to the home interface.
  • assuming the appropriate modules are loaded, the Qt file picker API would ask a process outside of the confinement sandbox to display the dialog box, and the file the user chooses would be made available at a path your app can read/write.

Since the file picker is out of process, it doesn’t matter what $HOME is inside the sandbox.