# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2022-2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

  include <abstractions/bus/session/org.gtk.Actions>
  include <abstractions/bus/session/org.gtk.Menus>
  include <abstractions/bus/session/org.gtk.Settings>
  include <abstractions/bus/session/org.gtk.vfs.MountTracker>




  # Need to be allowed for all peer because from the host namespace we do not
  # see the glycin namespace. This is showned by 'peer=(label=---)' in the logs.
  #
  # As of today, we cannot specify the ns scope and view of the peer.
  # See: https://gitlab.com/apparmor/apparmor/-/wikis/AppArmorPolicyView
  unix (send receive) type=seqpacket, # peer=(label=---), # file_inherit
  unix (send receive) type=stream, # peer=(label=---), # file_inherit
  priority=-10 @{bin}/bwrap  px -> :glycin:bwrap,

  @{lib}/{,@{multiarch}/}gtk*/** mr,

  /usr/share/glycin-loaders/{,**} r,

  /etc/gtk-{3,4}.0/settings.ini r,

  owner @{user_config_dirs}/gtk-{3,4}.0/ rw,
  owner @{user_config_dirs}/gtk-{3,4}.0/bookmarks r,
  owner @{user_config_dirs}/gtk-{3,4}.0/colors.css r,
  owner @{user_config_dirs}/gtk-{3,4}.0/gtk.css r,
  owner @{user_config_dirs}/gtk-{3,4}.0/servers r,
  owner @{user_config_dirs}/gtk-{3,4}.0/settings.ini r,
  owner @{user_config_dirs}/gtk-{3,4}.0/window_decorations.css r,

  owner @{user_cache_dirs}/glycin/ w,
  owner @{user_cache_dirs}/glycin/usr/ w,
  owner @{user_cache_dirs}/glycin/usr/lib/ w,
  owner @{user_cache_dirs}/glycin/usr/lib/glycin-loaders/ w,
  owner @{user_cache_dirs}/glycin/usr/lib/glycin-loaders/@{d}+/ w,
  owner @{user_cache_dirs}/glycin/usr/lib/glycin-loaders/@{d}+/glycin-svg/ w,
  owner @{user_cache_dirs}/glycin/usr/lib/glycin-loaders/@{d}+/glycin-svg/fontconfig/ w,

  owner @{tmp}/gdk-pixbuf-glycin-tmp.@{rand6} rw,

# vim:syntax=apparmor
