Поддержка портала в GTK

GTK будет прозрачно использовать порталы для некоторых функций, когда обнаружит, что используется внутри песочницы Flatpak. Вот несколько советов о том, что должны делать приложения GTK, чтобы извлечь из этого пользу.

  • Используйте g_get_user_config_dir(), g_get_user_cache_dir() и g_get_user_data_dir() Чтобы найти правильное место для хранения конфигурации и данных

  • Используйте GtkFileChooserNative (или GtkFileChooserButton), чтобы открыть файлы. Поскольку «xdg-desktop-portal-gtk» 1.7.1 он также может открыть каталоги.

  • Используйте GtkPrintOperation для печати

  • Используйте gtk_show_uri_on_window() или g_app_info_launch_default_for_uri() Чтобы открыть URI

  • Используйте gtk_application_inhibit() если вы хотите запретить простаивать или для выхода

  • Используйте g_application_send_notification() для отображения уведомлений

  • Используйте свойство GtkApplication::screensaver-active для отслеживания статуса экранной заставки

Кроме того, для тем и шрифтов GTK требуется xdg-desktop-portal-gtk. Он также используется в качестве запасного варианта для сборщика файлов, если основная реализация xdg-desktop-portal не поддерживает сбор файлов.

Поддержка портала в Qt и KDE

Библиотеки Qt и KDE будут прозрачно использовать порталы для некоторых функций, когда обнаружат, что они используются внутри песочницы Flatpak. Вот несколько советов о том, что следует делать приложениям Qt или KDE, чтобы извлечь из этого пользу.

  • Используйте QDesktopServices::openUrl(const QUrl &url) или KIO::OpenUrlJob, чтобы открыть URI или отправить электронное письмо при использовании URL-адреса mailto

  • Используйте QFileDialog для открытия файлов и, начиная с Qt 5.18.90, каталогов. Избегайте использования QFileDialog::DontUseNativeDialog. Обратите внимание, что в настоящее время порталы не могут предоставлять доступ к каталогам в файловой системе хоста

  • Используйте KNotification::notify(), чтобы показать уведомление