Auto-connect and greedy plug behaviour for gtk-theme-yaru-mate and icon-theme-yaru-mate

Hi :wave:

I’m making this request in relation to automatic theme installation in Ubuntu MATE 22.04. I’d like to request the following changes:

  • allow any snap to auto-connect to the gtk-theme-yaru-mate snap gtk-2-themes and gtk-3-themes slots.
  • allow any snap to auto-connect to the icon-theme-yaru-mate snap icons-themes slot.
  • update the declaration for gtk-theme-yaru-mate snap to allow greedy connection to its gtk-2-themes and gtk-3-themes slots.
  • update the declaration for icon-theme-yaru-mate snap to allow greedy connection to its icon-themes slot.

See Auto-connect and greedy plug behaviour for gtk-common-themes and gtk-theme-traditionalhumanized snaps for reference.

1 Like

To avoid ambiguity, the declaration for gtk-theme-yaru-mate should match that of gtk-theme-traditionalhumanized:

slots:
  content:
    allow-auto-connection:
      -
        plug-attributes:
          content: $SLOT(content)
        slot-attributes:
          content: gtk-3-themes
        slots-per-plug: *
      -
        plug-attributes:
          content: $SLOT(content)
        slot-attributes:
          content: gtk-2-themes
        slots-per-plug: *

And for icon-theme-yaru-mate it’d be:

slots:
  content:
    allow-auto-connection:
      -
        plug-attributes:
          content: $SLOT(content)
        slot-attributes:
          content: icon-themes
        slots-per-plug: *
1 Like

Any chance that the @review-team might be able to take a look at this before 22.04 goes final?

So there are two main things here - since this is a content interfaces is that we need an assurance from the snap publisher that they will maintain a stable “API” for the content interface and hence won’t remove things from it etc which could then break other snaps which use the content interface.

The second thing is since this is using greedy plugs to ensure it is auto-connected to any plugging snap then we need to get some assurance that the snap is “safe” (ie that it doesn’t ship say a daemon or hook or any command etc, and to vet the publisher as well).

FYI - these are all detailed at Process for aliases, auto-connections and tracks under “content for theme snaps”.

Looking at the current gtk-theme-yaru-mate and icon-theme-yaru-mate snaps they only appears to contain images, css, GTK resource / gtkrc files etc and the snap yaml only declares the content slots as named above, there are no hooks/daemons/apps etc.

The publisher has been vetted so +1 from me for global auto-connect with greedy plugs for these 2 snaps.

In the interest of expedience, I have gone ahead and granted this with just my +1 vote - can other @reviewers please chime in if you feel this is inappropriate and please vote so if needed we can revert this ASAP.

1 Like

+1 from me as well. I think your reasoning stands @alexmurray