Поддержка портала в 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
Use
QFileDialog
class to open files and, as of Qt5.18.90
, directories. Avoid usingQFileDialog::DontUseNativeDialog
.Используйте
KNotification::notify()
, чтобы показать уведомление