Implement org.freedesktop.impl.Access API
This is used by flatpak to ask for permissions, see https://bugzilla.gnome.org/show_bug.cgi?id=768669
- Test script: https://bug768669.bugzilla-attachments.gnome.org/attachment.cgi?id=331605
- implementation in gtk desktop portal: https://github.com/flatpak/xdg-desktop-portal-gtk/blob/master/src/access.c can be tested via
TITLE="Give Firefox Microphone Access?"
SUBTITLE="Firefox wants to use your microphone."
BODY="Access to your microphone can be changed at any time from the privacy settings."
OPTIONS="{'icon': <'audio-input-microphone-symbolic'>,
'deny_label': <'Cancel'>,
'grant_label': <'Turn On'>}"
gdbus call --session --dest org.freedesktop.impl.portal.desktop.gtk \
--object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.impl.portal.Access.AccessDialog \
/org/gnome/Shell/Access org.gnome.Shell '' \
"$TITLE" "$SUBTITLE" "$BODY" "$OPTIONS"