As in the question title, what's the relationship between NSAppearance
, NSEffectView.Material
, and "vibrancy"? I've found through experimentation that, for some materials, the choice of NSAppearance
can change how the material appears (e.g. NSEffectView.Material.titlebar
will be light or dark depending on the active NSAppearance
), while other materials (e.g. .light
) don't seem to care.
I suspect that materials like .titlebar
are proxies which select from .dark
, .ultradark
, .light
, and .mediumLight
depending on the NSAppearance
, but then that would seem to be the role of .appearanceBased
. I also see in the description for NSAppearance.Name.vibrantLight
...
This should only be set on an NSVisualEffectView or one of its subviews.
...which somewhat contradicts a statement from the NSEffectView
documentation...
The view’s effective appearance must allow vibrancy... in most cases you set the appearance on the window or on the visual effect view—subviews then inherit the appearance.
...suggesting that it could be correct to set vibrantLight
as the NSAppearance
of an entire window (if that's the look you wanted).
Finally, I'm confused as to what exactly "vibrancy" is; if someone could explain it, that would be great.