Replace GtkFileChooserDialog with GtkFileChooserNative to allow for better Flatpak integration

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: None
    • Component/s: javafx
    • None

      Flatpak is a framework for distributing desktop applications across various Linux distributions, that runs each application into its own sandbox to limit its access to the host environment to the strict minimum, including access to the network, HW devices or the host file system.
      To do so, it provides a specific set of APIs, known as "XDG Desktop Portal "[1] that the guest application must be aware of to take full advantage of ; which is not the case for Java/JavaFX based applications.

      Fortunately, some level of support for XDG Desktop Portal is baked into GTK3, which JavaFX could easily take advantage of.
      One such opportunity is replace explicit uses of GtkFileChooserDialog with GtkFileChooserNative.

      GtkFileChooserNative is an abstraction of a dialog box suitable for use with "File/Open" or "File/Save as" commands. By default, this just uses a GtkFileChooserDialog to implement the actual dialog. However, on certain platforms, such as Windows and macOS, the native platform file chooser is used instead.
      When the application is running in a sandboxed environment without direct filesystem access (such as Flatpak), GtkFileChooserNative may call the proper APIs (portals) to let the user choose a file and make it available to the application.

            Assignee:
            Frederic Thevenet
            Reporter:
            Frederic Thevenet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: