Portal support in GTK๐
GTK will transparently use portals for some functionality when it detects that it is being used inside a Flatpak sandbox. Here are some hints for what GTK applications should do to benefit from this.
Use
g_get_user_config_dir(),g_get_user_cache_dir()andg_get_user_data_dir()to find the right place to store configuration and dataUse
GtkFileChooserNative(orGtkFileChooserButton) to open files. As of xdg-desktop-portal-gtk 1.7.1 it can also open directories.Use
GtkPrintOperationfor printingUse
gtk_show_uri_on_window()org_app_info_launch_default_for_uri()to open URIsUse
gtk_application_inhibit()if you want to inhibit idle or logoutUse
g_application_send_notification()to show notificationsUse the
GtkApplication::screensaver-activeproperty to monitor scrensaver status
Additionally, xdg-desktop-portal-gtk is required for GTK themes and fonts. It is also used as a fallback for the filepicker if the main xdg-desktop-portal implementation doesnโt support filepicking.
Portal support in Qt and KDE๐
Qt and KDE libraries will transparently use portals for some functionality when they detect that they are being used inside a Flatpak sandbox. Here are some hints for what Qt or KDE applications should do to benefit from this.
Use
QDesktopServices::openUrl(const QUrl &url)orKIO::OpenUrlJobto open URIs or send an email when usingmailtoURLUse
QFileDialogclass to open files and, as of Qt5.18.90, directories. Avoid usingQFileDialog::DontUseNativeDialog.Use
KNotification::notify()to show notification