xdg-open (2286B)
- # vim:syntax=apparmor
 - abi <abi/3.0>,
 - # This abstraction is designed to be used in a child profile to limit what
 - # confined application can invoke via xdg-open helper. xdg-open abstraction
 - # will allow to use gio-open, kde-open5 and other helpers of the different
 - # desktop environments.
 - #
 - # Usage example:
 - #
 - # ```
 - # profile foo /usr/bin/foo {
 - # ...
 - # /usr/bin/xdg-open rPx -> foo//xdg-open,
 - # ...
 - # } # end of main profile
 - #
 - # # out-of-line child profile
 - # profile foo//xdg-open {
 - # include <abstractions/xdg-open>
 - #
 - # # Enable a11y support if considered required by
 - # # profile author for (rare) error message boxes.
 - # include <abstractions/dbus-accessibility>
 - #
 - # # Enable gstreamer support if considered required by
 - # # profile author for (rare) error message boxes.
 - # include if exists <abstractions/gstreamer>
 - #
 - # # needed for ubuntu-* abstractions
 - # include <abstractions/ubuntu-helpers>
 - #
 - # # Only allow to handle http[s]: and mailto: links
 - # include <abstractions/ubuntu-browsers>
 - # include <abstractions/ubuntu-email>
 - #
 - # # < add additional allowed applications here >
 - # }
 - # ```
 - include <abstractions/base>
 - # for opening with `exo-open`
 - include <abstractions/exo-open>
 - # for opening with `gio open <uri>`
 - include <abstractions/gio-open>
 - # for opening with gvfs-open (deprecated)
 - include <abstractions/gvfs-open>
 - # for opening with kde-open5
 - include <abstractions/kde-open5>
 - # Main executables
 - /{,usr/}bin/{b,d}ash mr,
 - /usr/bin/xdg-open r,
 - # Additional executables
 - /usr/bin/xdg-mime rix,
 - /{,usr/}bin/cut rix, # for xdg-mime
 - /{,usr/}bin/head rix, # for xdg-mime
 - /{,usr/}bin/sed rix, # for xdg-open
 - /{,usr/}bin/tr rix, # for xdg-mime
 - /{,usr/}bin/which rix, # for xdg-open
 - /{,usr/}bin/{grep,egrep} rix, # for xdg-open
 - # System files
 - /dev/pts/[0-9]* rw,
 - /dev/tty w,
 - /etc/gnome/defaults.list r, # for grep
 - /usr/share/applications/mimeinfo.cache r, # for grep
 - /usr/share/terminfo/s/screen r, # for bash on openSUSE
 - /usr/share/{,*/}applications/{,*.desktop} r, # for xdg-mime
 - /var/lib/menu-xdg/applications/ r, # for xdg-mime
 - # Usr files
 - owner @{HOME}/.local/share/applications/{,*.desktop} r,
 - # Include additions to the abstraction
 - include if exists <abstractions/xdg-open.d>