Suporte a portal no GTK¶
O GTK usará de forma transparente portais para algumas funcionalidades quando detectar que está sendo usado dentro de uma sandbox Flatpak. Aqui estão algumas dicas sobre o que os aplicativos GTK devem fazer para se beneficiar disso.
Use
g_get_user_config_dir()
,g_get_user_cache_dir()
eg_get_user_data_dir()
para encontrar o local certo para armazenar configurações e dadosUse
GtkFileChooserNative
(ouGtkFileChooserButton
) para abrir arquivos. A partir do xdg-desktop-portal-gtk 1.7.1 ele também pode abrir diretórios.Use
GtkPrintOperation
para imprimirUse
gtk_show_uri_on_window()
oug_app_info_launch_default_for_uri()
para abrir URIsUse
gtk_application_inhibit()
se você quiser inibir ociosidade ou encerramento de sessão (logout)Use
g_application_send_notification()
para mostrar notificaçõesUse a propriedade
GtkApplication::screensaver-active
para monitorar o status da proteção de tela
Além disso, xdg-desktop-portal-gtk é necessário para temas e fontes GTK. Ele também é usado como substituto para o selecionador de arquivos se a implementação principal do xdg-desktop-portal não suportar seleção de arquivos.
Suporte a portal no Qt e KDE¶
As bibliotecas do Qt e do KDE usarão portais de forma transparente para algumas funcionalidades quando detectarem que estão sendo usadas dentro de uma caixa de areia Flatpak. Aqui estão algumas dicas sobre o que os aplicativos Qt ou KDE devem fazer para se beneficiar disso.
Use
QDesktopServices::openUrl(const QUrl &url)
ouKIO::Krun
para abrir URIs ou enviar um e-mail por meio de URLmailto
Use a classe
QFileDialog
para abrir arquivos e, a partir do Qt5.18.90
, diretórios. Evite usarQFileDialog::DontUseNativeDialog
. Observe que portais não podem atualmente dar acesso a diretórios no sistema de arquivos hostUse
KNotification::notify()
para mostrar notificação