Snaps used to not conform to the system theme, but more recently, they seem to have fixed that in the popular applications...I don't understand this. Do understand it might not be a thing that is easy to explain further
I've wondered about this too. I think there are some 'resource' snaps that play into this. My inferences follow. How is the Gimp Snap (for example) aware of my system theme (Yaru-dark)?
Some facts from a Ubuntu blog post:
Snaps have security at their heart, and are designed to ensure all applications support the principle of least privilege / authority. That is, each package only has access to the common groups of resources that it requires to perform its intended function.
To support this, each package is sandboxed so that it runs in a constrained environment, isolated from the rest of the system – this is achieved via a combination of AppArmor, seccomp, mount namespaces, cgroups and traditional UNIX permissions. To then allow a package access to common resources, the snap system provides ‘interfaces’ to which packages can be granted access as required or determined by the user. This includes things like files within the user’s home directory, or files on removable media, as well as hardware devices such as webcams or audio devices (for a full list of interfaces see the snap documentation).
Interfaces can also be provided from one snap to another, for example to let one snap provide services via DBus to another snap application, or to provide shared content from one snap to another.
Excerpt from:
https://ubuntu.com/blog/a-guide-to-s...and-interfaces
Once it (somehow) detects my system theme, the application could be accessing a relatively-new snap resource bundle of common gtk themes that I notice has been installed (but not by me). These are 'shared content'. Originally (as with the first snap offerings like 'Calculator') the theme probably was included with the application.
Notice in the snap list:
Code:
dmn@Sydney-vm:~$ snap list | grep gtk
gtk-common-themes 0.1-36-gc75f853 1506 latest/stable/… canonical* -
Pending further infornation, I'm going with this explanation for now.
Bookmarks